问题
如何使用列出的某个阵列填充myArray
并使用下拉列表中的选定选项进行更改?
使用 javascript 或 jQuery
<select id="ddl">
<option>arr1</option>
<option>arr2</option>
<option>arr3</option>
</select>
var arr1 = ['A', 'B', 'C'],
arr2 = ['1', '2', '3'],
arr3 = ['X', 'Y', 'Z'],
array = document.getElementById('ddl').value;
//...
myArray: array
问题
目前ddl只是一个字符串值,我需要将所选值作为javascript变量之一。
答案 0 :(得分:4)
您可以使用对象存储数组,然后使用下拉列表的字符串值访问该对象。像这样:
var options = {
arr1: ['A', 'B', 'C'],
arr2: ['1', '2', '3'],
arr3: ['X', 'Y', 'Z']
}
var array = options[$('#ddl').val()]; // options[document.getElementById('ddl').value]
答案 1 :(得分:3)
你可以制作一个多维数组:
var arr = [];
arr['arr1'] = ['A', 'B', 'C'],
arr['arr2'] = ['1', '2', '3'],
arr['arr3'] = ['X', 'Y', 'Z'];
var selectedArray = arr[document.getElementById('ddl').value];
答案 2 :(得分:0)
使用@Rory McCrossan的概念并为选项添加正确的值怎么样?
<select id="ddl">
<option value="0">arr1</option>
<option value="1">arr2</option>
<option value="2">arr3</option>
</select>
var options =[
['A', 'B', 'C'],
['1', '2', '3'],
['X', 'Y', 'Z']
];
$('#ddl').change(function () {
var ch = $('#ddl').val();
var array = options[ch];
//test
alert(options[ch]);
});