2010-11-15 34 views
0

我想创建一个带有两个下拉列表(国家和城镇)的表格,填充两个mysql表格中的选项。我希望第二个列表(城镇)根据第一个列表(国家)中选定选项的值填充选项。如何用php,javascript,mysql“链接”两个下拉列表?

我知道如何使用php和mysql将选项加载到国家/地区列表中,我可以将其链接到第二个列表中,该列表中填充了来自javascript的选项。脚本中有条件更新第二个列表的值。但我需要第二个列表的MySQL查询一些帮助。如何在页面已经加载时开始第二个查询?

回答

0

你有两种方法可以解决这个问题。

首先,将所有值包括到页面中,可能是一个javascript数组,然后当第一个列表发生更改时,它会重新将相应的值添加到第二个下拉列表中。如果使用此方法,则每个项目(来自两个表/列表)都会在每个请求上加载。如果项目的总数量相对较小(比如< 100),那么可能是您最好的方法。

另一种选择是在选择第一个下拉列表后发出ajax请求。该请求将包含下拉列表的ID /值,并将返回对该值有效的项目。此方法意味着您只需要在初始页面加载(第一个下拉列表的值)上需要一个查询,但也需要您创建一个JavaScript处理程序。

我见过两种方法。第一个通常对于较小的数据集更好,但由于查询是静态的(无参数)并且可以被缓存,所以速度更快。但是,您随后会在每个请求中传输该数据。第二个稍微“干净”,但至少需要一个Ajax请求。如果您已经熟悉使用该方法,那么可能是您的最佳选择。