我有一个弹出窗体,里面有两个下拉菜单。根据第一个选择的选项,我必须在第二个中更改可能的选项。由于信息在数据库中,我必须通过Ajax检查信息。
以下是示例结果:
$arr = {
"1" => array("1","first","ref1"),
"2" => array("2","second","ref2"),
"3" => array("3","third","ref3")
};
请问您如何传递此数组,以及如何将这些选项分配给第二个选择框
我现在有以下代码,它运作良好。
function onChangeBrand(){
var brandId = $('#brand')。val();
$ .ajax({
键入:“POST”,
数据类型:'json',
url:“items / getModel”,
数据:{brandId:brandId},
成功:功能(数据){
//
}
});
}
我收到的数据看起来像一个包含以下信息的字符串:
[[“model_id”:“5”,“name”:“M1132”},{“model_id”:“4”,“name”: “ProBook 6470”}]
如何将此信息传输到jquery数组并将其作为选项传递给第二个下拉菜单。
答案 0 :(得分:0)
你可以从服务器获取一个带有一些数据的Json对象并循环遍历它们以使用Javascript动态创建选项:
for(var i in options){
option = $('<option>');
option.value = options[i].value;
option.append(options[i].text);
select2.append(option);
}
plunker中的工作代码示例 希望这有帮助。
答案 1 :(得分:0)
您可以尝试使用这段代码 -
var secondSelect=$('#secondselectid');
var dataString=[{"model_id":"5","name":"M1132"}, {"model_id":"4","name":"ProBook 6470"}];
$(dataString).each(function(key,val){
var selectoption=$('<option>');
selectoption.value = val.model_id;
selectoption.append(val.name);
$(secondSelect).append(selectoption);
});