我有3个下拉列表 1.在这里我需要选择一种产品质量 2.在这里我需要选择标准或非标准 如果是IF标准,那么第3个列表需要填充动态数据 如果非标准则没有(第3个框空)
然而,填充列表(第3个)需要另一个选择,该选择也基于第一个下拉列表中的选择
我不知道如何组合3个列表并使其填充第3个
第一个列表被命名为quality 第二个列表是命名测量 第三个列表名为lengte_breedte
它基于一个mysql数据库,我在其中选择以下内容: SELECT lengte_breedte FROM fb_lengte_breedte WHERE measurements =?
我有Json header('Content-type:application / x-json');
echo json_encode($ fb_query); 出口;
document.observe('dom:loaded',function(f){ $('measurements')。observe('change',populateMeasurements).bindAsEventListener(); }); function populateMeasurements(e){ //收集参数 var qs ='& measurements ='+ $ F('measurements'); //创建请求 var req = new Ajax.Request('nameRequest.php',{ 方法:'post', 参数:qs, onComplete:function(transport){ //收集回复,对象反应 var obj = eval(transport.responseText); //清除选择项目 $('lengte_breedte')。options.length = 0; //迭代并构建新菜单 $('lengte_breedte')。options [$('lengte_breedte')。options.length] = new Option(' - Select - ',''); var ListItems = new Array(); //创建新的选择项目选项 obj.each(函数(t)的{ ListItems [ListItems.length] =新选项(t.lengte_breedte,t.lengte_breedte); }); //填充新项目 for(var i = ListItems.length - 1; i> = 0; i - ){ $('lengte_breedte')。options [$('lengte_breedte')。options.length] = ListItems [i]; } } // onComplete }); } //结束功能答案 0 :(得分:0)
所以看起来只有真正需要填充第3列表,如果第2个被选中为标准,首先要做的是在事件监听器中添加if条件,正在监视第2个列表的更改。如果非标准清空第3个清单,那么你就完成了。否则,如果标准对nameRequest.php执行ajax调用,则将列表1的当前值作为参数传递。返回电话后,填写第3个列表,你就可以开始了。
作为注释,您应该在等待ajax填充第3个列表时禁用提交按钮,然后在从返回的数据构建该列表时重新启用。