繁体   English   中英

双下拉列表值

[英]Double drop down list value

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

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

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

这取决于很多事情。

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

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

根据您的标准,最好选择Ajax延迟加载,这将使页面加载时快速加载,并且您可以使用ajax获取其他下拉菜单的数据。

您指出的两种选择都有其优缺点,决定取决于这种优缺点如何影响您的应用程序:

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

优点:

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

缺点:

  • 如果您有大量数据,则增加使用的内存量。
  • 如果您的数据不断变化,那么您的访问者只有刷新整个页面才能看到这些变化。

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

优点:

  • 您不需要将所有的全部数据存储在内存中,只需使用将要使用的数据即可,从而减少了所需的内存量。
  • 每次更新数据时都不需要重新加载页面,只需更改选择即可。

缺点:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM