更新:私はコメント内の提案を試したが、まだ動作していません。なぜ私は本当に理由が分かりません。私はそれを単一のループに統合し、記載されている構文エラーを修正しました。それが今見えるようここにコードは次のとおりです。JSONオブジェクトの特定の値をjavascript配列に追加します
$(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オブジェクトを使用してダウンメニュー依存のドロップを作成しようとしている、と私はトラブルの最初に基づいて投入するために2番目のメニューを取得することです。最初のメニューが変わると、2番目のメニューは "undefined"の束になります。
$.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"}]
ためのループのためにあなたを変更してみてください。 –
恐らく 'data.model'は未定義ですか? – Quentin
(そして、どうぞ、ネスティングがどこにあるかを明確にするためにコードをインデントしてください) – Quentin