0

我有一个弹出表单,里面有两个下拉菜单。根据第一个中选择的选项,我必须更改第二个中的可能选项。由于信息在数据库中,所以我必须通过 Ajax 检查哪些信息。

这是一个示例结果:

$arr = {
    "1" => array("1","first","ref1"),
    "2" => array("2","second","ref2"),
    "3" => array("3","third","ref3")
};

您能否帮助我了解如何传递此数组以及如何将这些选项分配给第二个选择框。
我现在有以下代码,效果很好。
函数 onChangeBrand(){
var brandId = $('#brand').val();
$.ajax({
type: "POST",
datatype: 'json',
url: "items/getModel",
data: {brandId : brandId},
success: function(data) {
//
}
}); 我收到一个看起来像包含以下信息的字符串的数据: [
{ "model_id":"5","name":"M1132"},{"model_id":"4","name":"ProBook 6470 "}]



如何将此信息传输到 jquery 数组中并将其作为选项传递给第二个下拉菜单。

4

2 回答 2

0

您可以从服务器获取一个带有一些数据的 Json 对象,并通过它们循环使用 Javascript 动态创建选项:

for(var i in options){
  option       = $('<option>');
  option.value = options[i].value;
  option.append(options[i].text);
  select2.append(option);
}

plunker中的示例工作代码。
希望这有帮助。

于 2013-03-14T17:13:23.113 回答
0

您可以对这段代码使用 try -

     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); 
      });
于 2017-01-19T05:30:43.517 回答