访问动态数组名的数组元素

Access array elements of dynamic arrayname

我有很多带有复选框的模块,我想使用数组检查这些模块。 有 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?

稍微重新安排您的代码,像这样

$("#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

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