我有一组下拉框,我将使用JSON填充。我想要做的是用每个对象的名称填充第一个下拉列表。然后,当某人从第一个下拉列表中选择一个选项时,第二个下拉列表将填入与其第一个选择相关的其他数据。我现在所拥有的是用产品名称填充第一个选择框并将值分配给ID
对于第二个下拉列表,我希望选项基于与在第一个下拉列表中选择的产品相关联的选项,基于ID。根据第一个选择从特定JSON对象获取值
这里是我到目前为止,我不知道如何根据产品ID从选定的产品只能获得数据:
$(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
为什么downvote? – user13286