将字符串评估为arrayname

时间:2014-09-20 16:18:41

标签: jquery arraylist

我创建了一些数组,如下所示

var GP = ["Doc_Type", "Approval_Type"];
var AB = ["XX", "YY"];

我选择了选项值作为数组名称的同名,如下所示

<select id="dpSelect">
<option value="">Select Tender Type</option>
<option value="GP">First Option</option>
<option value="AB">Second Option</option>

我按照下拉列表的选择尝试循环数组。但它给出了错误。有人告诉我干净利落的方式

$.each(eval($("#dpSelect").val()), function (i, doctype) {

});

1 个答案:

答案 0 :(得分:1)

您应该使用jQuery .change()事件来确定下拉列表中的选择何时更改,然后您可以使用eval()来获取相应的数组名称:

$("#dpSelect").change(function()
{
    if ($(this).val())
    {
        var dpArray = eval($(this).val());
        for (var i = 0; i < dpArray.length; i++)
        {
            // custom code here
        }  
    }
});

我创建了一个快速的JSFiddle,显示了这一点:

http://jsfiddle.net/trgto8to/