访问动态arrayname的数组元素

时间:2016-08-07 08:50:02

标签: javascript jquery arrays dynamic each

我有很多带有复选框的模块,我想使用数组来检查。 有3个包含几个模块。我用包名生成了一个下拉列表。选择包后,应选中复选框。

但我对生成的数组名称有疑问。我无法访问它。

$("#package").change(function () {
    var starter = ["module1", "module2", "module3"];
    var advanced = ["module1", "module2", "module3", "module4", "module5"];
    var everything = ["module1", "module2", "module3", "module4", "module5", "module6", "module7"];    

    var contract = $('#package').val().toLowerCase();
    var arname = {};

    $.each(arname[contract], function( index, name ){
      $( "#module_" + name).prop('checked', true);  
    });     
});

如何选择数组名称,具体取决于下拉列表的值#package?

1 个答案:

答案 0 :(得分:1)

稍微重新排列代码,就像这样

$("#package").change(function () {
    var arname = {
        starter: ["module1", "module2", "module3"],
        advanced: ["module1", "module2", "module3", "module4", "module5"],
        everything: ["module1", "module2", "module3", "module4", "module5", "module6", "module7"]
    }
    var contract = $('#package').val().toLowerCase();

    $.each(arname[contract], function( index, name ){
      $( "#module_" + name).prop('checked', true);  
    });     
});

使对象arname具有属性starteradvancedeverything

您可以访问与原始代码完全相同的内容