【发布时间】:2012-10-27 09:53:51
【问题描述】:
我有两个链接的选择:第一个选择的每个值决定了哪些项目将显示在第二个选择中。
第二次选择的值存储在一个二维数组中:
[ [{"id":1,"text":"a"}, {"id":2,"text":"b"},...],
[{"id":"1a","text":"aa"},{"id":"1b","text":"ba"},...],
...
]
第一个选择值确定用于填充第二个选择的索引。因此,在第一个“更改”事件中,我应该能够修改 select-two 包含的项目。
阅读文档我认为我需要使用“数据”选项...但不知道该示例如何在初始化时加载数组数据,如果我在初始化后尝试这样做似乎不起作用。
HTML
Attribute:
<select name="attribute" id="attribute">
<option value="0">Color</option>
<option value="1">Size</option>
</select>
Value:
<select name="value" id="value"></select>
<script>
var data = [ [{"id":1,"text":"black"}, {"id":2,"text":"blue"},...],
[{"id":"1","text":"9"},{"id":"1","text":"10"},...],
];
$('#attribute').select2().bind('change', function(){
// Here I need to change `#value` items.
$('#value').select2('data',data[$(this).val()]); // This does not work
);
$('#value').select2();
</script>
【问题讨论】:
-
向我们展示您已经拥有的代码。
-
添加示例,在评论中我尝试了 $('#value').select2('data',data[$(this).val()]);