根据另一个下拉列表的值加载下拉列表 - 不刷新页面中的PHP

问题描述:

我已经在PHP中创建了一个页面,因为我需要加载dropdown1对应的值dropdown1而不刷新页面。这些下拉列表的值来自数据库。根据另一个下拉列表的值加载下拉列表 - 不刷新页面中的PHP

我不想为每次点击刷新页面。

两个当你把你的页面发送到客户端时,PHP就完成了。所有你到达那里是JavaScript。

  1. Ajax:当您选择第一个下拉菜单时,您可以使用Ajax调用。在JavaScript中定义一个函数,所以当第一个下拉菜单中的选项被选中时,它将调用一个URL,并将选定项目的ID发送到该URL,并获取XML结果并使用它填充第二个下拉列表。

  2. JavaScript数组:这种方法与其他类似,区别在于两个下拉列表的所有数据都已经作为Javascript对象或数组发送到了客户端。通过从第一个下拉列表中选择一个选项,JavaScript函数将使用本地数组或对象填充第二个下拉列表,而不是调用Ajax调用。

第二种方法的优点是更改第二个下拉列表更快,并且不需要其他连接。但首次加载页面将需要更长的时间,因为所有的下拉数据都应该先加载。我在我的一些页面中使用了第二种方法,但是如果您有大量数据来获取第一个下拉菜单中的每个选项,则更好的方法是第一种方法。

我推荐使用一个众所周知的框架,例如jQuery。它会缓解你所有的工作。您可以调用ajax调用,并轻松更改第二个下拉列表的子项。

编辑:

在第一方法

(AJAX调用)我说从XML负荷数据。我的意思是建立一个到服务器的AJAX连接,连接到一个PHP页面,该页面将接受一个参数,比如第一个select标签中selected选项的值,然后搜索服务器上的数据库,获取相关结果并返回一个XML文档有第二个选择标签的所有线索。并且在发出Ajax请求的JavaScript函数中,您可以根据结果XML解析该XML并为第二个选择标签创建选项标签。你的PHP脚本接受一个值,并可以根据该值做任何事情。 XML部分,只是一个转移工具。

+0

嗨,我第一个本身 - 你只需要从XML获取,但我需要从数据库动态的数据。 – praveenjayapal 2009-04-24 06:26:19