双下拉列表值

时间:2012-11-25 11:35:25

标签: php javascript jquery ajax

我正在考虑两个下拉列表,一个依赖于另一个。两个下拉列表都有来自数据库的值。在这种情况下哪一个是最好的方式。

  1. 使用普通PHP从数据库中检索所有值,然后将它们存储在javascript变量中,稍后在javascript(array)变量中搜索第二个下拉列表值(如果第一个下拉列表的值更改)。

  2. 如果第一个下拉列表的值更改,则使用AJAX(jQuery)从数据库中检索第二个下拉列表的值。

2 个答案:

答案 0 :(得分:0)

这取决于很多事情。

您必须通过从数据库中提取数据来显示第一个下拉列表

如果下拉列表中每个选定记录的数据很大,那么使用ajax获取它使用js变量并在第一个下拉列表中使用javascript填充它。

  

根据您的标准,您最好最后使用Ajax   加载,这将使您的页面加载快速加载,你可以   使用ajax获取其他下拉列表的数据。

答案 1 :(得分:0)

您指出的两种选择有利有弊,决定取决于这种利弊如何影响您的申请:

  

使用普通PHP从数据库中检索所有值,然后将其存储在中   javascript变量,稍后搜索第二个下拉列表值(如果   javascript(数组)中的第一个下拉列表的值更改)   变量

优点:

  • 最小化http请求,您只需要一个请求来检索整个数据。
  • 最大限度地减少数据库所需的查询,通常只执行一次查询。

缺点:

  • 如果您有大量数据,则增加使用的内存量。
  • 如果您的数据不断变化,您的访问者在刷新整个页面之前都看不到更改。
  

如果第一个下拉列表的值更改,则检索值   使用AJAX(jQuery)从数据库中下载第二个下拉列表。

优点:

  • 您不需要将所有整个数据存储在内存中,只需要存储将要使用的数据,从而减少所需的内存量。
  • 您的数据每次都会更新,而无需重新加载页面,只会更改选择。

缺点:

  • 每次选择更改时,您都需要执行多个http请求并对数据库运行查询。

我个人更喜欢方法2,如果数据量相对较大而且性能不是必须的。