我首先选择了多个选项,然后选择了另一个:
<select class="form-control" id="select1">
<option value="">Choose</option>
<option value="1">select1_option1</option>
<option value="2">select1_option2</option>
...
<select class="form-control" id="select2">
<option value="">Choose</option>
...
select2
中的可用选项取决于 select1
中选择的值。
数据可以按以下格式存储(或任何其他格式,但应最小化):
var select2data = {1:{11:"select2_option1",12:"select2_option2",13:"select2_option3",14:"select2_option4"},
2:{21:"select2_option1",22:"select2_option2"}};
因此,如果在第一个选择中选择值 1
,则 select2
应如下所示:
<select class="form-control" id="select2">
<option value="">Choose</option>
<option value="11">select2_option1</option>
<option value="12">select2_option2</option>
...
我知道如何为 select2
分配新值,但我不明白如何读取 select2data
值 - 请参阅 jsfiddle .
最佳答案
你必须这样做:
$('#select2')
.find('option')
.remove()
.end()
$.each(select2data[value], function (index, item) {
console.log(item)
$('#select2').append('<option value="' + index + '">' + item + '</option>')
})
fiddle 演示:
关于javascript - 如何存储数据并根据另一个选择值分配选择选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748444/