将JSON对象中的某些值添加到javascript数组

时间:2016-07-21 14:46:22

标签: javascript json drop-down-menu

更新:我已经在评论中尝试了这些建议,但仍然无效。我真的不知道为什么。我已将它整合到一个循环中并修复了指出的语法错误。这是现在的代码:

    $(function() {

  $("#json-one").change(function() {

    var $dropdown = $(this);

    $.getJSON("washroutines.json", function(data) {

      var vals = [];
      var $jsontwo = $("#json-two");
$jsontwo.empty();        

      for (var i = 0; i < data.length; i++){
        if (data[i].make === $dropdown.val()) {
          $jsontwo.append("<option value=\"" + data[i].model + "\">" + data[i].model + "</option>");
        }
      }

    });
  });

});

非常感谢任何额外的帮助!

原始问题:

我正在尝试使用json对象创建依赖的下拉菜单,并且我无法根据第一个菜单填充第二个菜单。当第一个菜单改变时,第二个菜单会变成一堆“未定义”。

    $.getJSON("washroutines.json", function(data) {     
      var vals = [];

for (i = 0; i < data.length; i++){
 if (data.make = $dropdown.val()) {
   vals.push(data.model);
   }
  }

      var $jsontwo = $("#json-two");
      $jsontwo.empty();
   for (i = 0; i < vals.length; i++){
   $jsontwo.append("<option value\"" + vals[i] + "\">" + vals[i] + "</option>");
}

在向我解释事情时请用小词,我是新来的!

JSON的内容:

[{"make":"Maytag","model":"Bravos","prewashCycle":"Whitest Whites"},
{"make":"Maytag","model":"Awesome","prewashCycle":"Awesome Whitest Whites"},
{"make":"Whirlpool","model":"Cabrio","prewashCycle":"Extra Heavy"},
{"make":"Kenmore","model":"Elite","prewashCycle":"Awesome"}]

1 个答案:

答案 0 :(得分:0)

尝试更改此

的for循环
for (var i = 0; i < data.length; i++){
  if (data[i].make === $dropdown.val()) {
    vals.push(data[i].model);
  }
}