要使用下拉列表请求的Ajax数据库

时间:2012-02-17 18:34:10

标签: ajax drop-down-menu

从另一个php请求下拉列表,但使用2下拉列表来搜索它。

如果选择年龄(41)然后用户点击姓氏下拉框,用户将只能在姓氏下拉框中选择Peter Griffin和Glen Quagmire。并将展示Peter Griffin和Glen Quagmire的数据。

1 个答案:

答案 0 :(得分:1)

如果我理解你的话,你希望选择框的内容根据相反方框的用户选择动态改变。

我这样做的方法是将jQuery $()。change()事件处理程序绑定到每个选择框。当用户更改选择框时,事件将触发,然后您的代码应执行AJAX GET请求,再次使用jQuery($ .get())到您的后端,可能是PHP脚本,它执行过滤并返回作为JSON的第二个下拉列表的选项。

编辑:以下示例。 $ .get调用后端php脚本,该脚本返回用于填充另一个选择框的JSON。

<select id="lastname"><option value="Will">Will</option><option value="John">John</option></select>
<select id="age"><option value="45">45</option><option value="41">41</option></select>

$("#lastname").change(function() {
      var value = $(this).val();
      $.get('backend.php?n=' + value, function(data) {
           $("#age").empty();
           $.each(data, function() {
               $("#age").append("<option value='" + this.value+ "'>" + this.content + "</option");
           });
      }, "json");
});

$("#age").change(function() {
      var value = $(this).val();
      $.get('backend.php?a=' + value, function(data) {
           $("#lastname").empty();
           $.each(data, function() {
               $("#lastname").append("<option value='" + this.value+ "'>" + this.content + "</option");
           });
      }, "json");
});