如何从下拉列表中选择值填充javascript数组?

时间:2014-12-09 11:33:57

标签: javascript jquery html arrays drop-down-menu

问题

如何使用列出的某个阵列填充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变量之一。

3 个答案:

答案 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]

Example fiddle

答案 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];

Example

答案 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]);

});