php 多个下拉列表 查询,关于php:jquery从数据库填充多个下拉列表

我知道如何使用jQuery使用数据库中的值填充单个下拉框。

但是现在我需要进行一个长查询以使用下拉列表过滤掉5个表字段。

也就是说,通过选择第一个,我需要更改其余的四个下拉列表值,并且通过更改第二个下拉菜单,我需要更改其他三个下拉列表,依此类推。

为了更改单个下拉列表,我使用Ajax发送到URL,然后返回html并将其放置在select字段中。

jQuery.ajax({

type:"POST",

url:"getdb/tb",

data: '{data :"data" }',

success: function (data) {

jQuery("select#field_1").html(returnval);

},

failure: function (response) {

alert("failed");

}

});

然后在我的URL" getdb / tb"中,使用SELECT语句过滤掉查询并回显出选项字段。

但是我不知道如何使用第一个下拉列表中的单个更改功能将多个html选项字段发送到我的其他4个下拉列表。请帮助我,并请我初学者。提前致谢。

更新:

这是做这样的好方法

jQuery.ajax({

-

-

success: function(data){

callfirst();

}

});

function callfirst(){

jQuery.ajax({

-

-

success: function(data){

callsecond();

}

});

}

function callsecond(){

jQuery.ajax({

-

-

success: function(data){

callthird();

}

}

我认为,您的好人。这就像相互依赖的API。第二个下拉列表更改时,您调用callsecond()...等等

但是我认为必须有另一种方法来解决这个问题。任何jQuery领导者,请指导我...

您的方法还不错,但是需要很多ajax调用才能为所有选择字段带来选项值。您可以使用JSON在单个ajax调用中完成此操作。在PHP页面上,您可以创建一个数组,其中将包含表示四个选择框选项的HTML字符串。然后,您可以使用json_encode()函数将此数组转换为JSON字符串:

$arr=array("second"=>"...........", //for second dropdown

"third"=>"...........", //for third dropdown

"fourth"=>"...........", //for fourth dropdown

"fifth"=>"..........." //for fifth dropdown

);

echo json_encode($arr);

然后在网页上的第一个下拉列表中,您可以编写如下所示的jQuery函数:

function loadOptions(){

jQuery.ajax({

success: function(data){

jQuery("select#field_2").html(data["second"]);

jQuery("select#field_3").html(data["third"]);

jQuery("select#field_4").html(data["fourth"]);

jQuery("select#field_5").html(data["fifth"]);

}

});

}

这样,您可以在一个ajax调用中加载所有其他下拉菜单的选项。我了解您还需要其他下拉菜单类似的功能。您也可以为其他下拉菜单编写类似的功能。这是一个通用函数,您可以在其中传递下拉列表编号,该函数将返回目标下拉列表的选项。例如,如果您传递下拉列表编号2,则该函数将返回下拉列表3、4和5的选项。如果传递3,它将返回下拉列表4和5的选项,依此类推。

function loadOptions(selectNo){

jQuery.ajax({

data:{"selectNo",selectNo},

success: function(data){

switch(selectNo){

case 1: jQuery("select#field_2").html(data["second"]);

case 2: jQuery("select#field_3").html(data["third"]);

case 3: jQuery("select#field_4").html(data["fourth"]);

case 4: jQuery("select#field_5").html(data["fifth"]);

}

}

});

}

在PHP页面上,您可以编写以下代码来实现此功能:

$selectNo=$_GET["selectNo"];

$arr=array();

switch(selectNo){

case 1: $arr["second"]="..........."; //for second dropdown

case 2: $arr["third"]="..........."; //for third dropdown

case 3: $arr["fourth"]="..........."; //for fourth dropdown

case 4: $arr["fifth"="..........."; //for fifth dropdown

}

echo json_encode($arr);

有关JSON的更多信息,请参见此处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值