私はJSONで設定するドロップダウンのセットを持っています。私がしたいのは、最初のドロップダウンに各オブジェクトの名前を入力することです。次に、最初のドロップダウンからオプションを選択すると、2番目のドロップダウンには最初の選択に関連する他のデータが入力されます。私が今持っているのは、最初の選択ボックスに製品名を入力して値をID
に割り当てることです。2番目のドロップダウンでは、最初のドロップダウンで選択した製品に関連付けられたオプションに基づいてオプションを設定します。 IDに基づいて最初の選択に基づいて特定のJSONオブジェクトから値を取得する
$(function() {
var products = [{
"id": 0,
"name": "First Product",
"sizes": [{
"size": "small"
},{
"size": "medium"
}]
},
{
"id": 1,
"name": "Second Product",
"sizes": [{
"size": "small"
},{
"size": "medium"
}]
}
]
$.each(products, function(key, val) {
$('.first').append('<option value="' + val.id + '">' + val.name + '</option>');
});
$('.first').change(function() {
var selectedProduct = $(this).val();
$.each(products['id'][selectedProduct], function(key, val) {
$('second').append('<option id="' + val.sizes.size + '">' + val.sizes.size + '</option>');
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="first">
</select>
<select class="second">
</select>
。選択した製品のサイズは? –
@SKJajoriya正解、最初のものから関数をコピーしたときに、これらの値を変更するのを忘れてしまった – user13286
なぜダウンボートですか? – user13286