gpt4 book ai didi

jquery - 无法在 JQuery 中使用动态数组名称

转载 作者:行者123 更新时间:2023-12-01 03:24:45 25 4
gpt4 key购买 nike

我正在尝试迭代数组以获取下拉列表的国家/地区信息。

这些是数组:

var array_states_US = new Array("AL", "AK", "AR")
var array_states_names_US = new Array("Alabama", "Alaska", "Arkansas")

var array_states_MX = new Array("AG", "BN", "BS")
var array_states_names_MX = new Array("Aguascalientes", "Baja California", "Baja California Sur")

这是函数:

function buildDropdown(countryISO){
var tmpArry = 'array_states_' + countryISO;
var tmpArryNames = 'array_states_names_' + countryISO;
$(tmpArry).each(function(i) {
$(stateSelectId).append($("<option></option>").attr("value", this).text($(tmpArryNames)[i]));
});
}

但是 JQuery 将 $(tmpArry) 和 $(tmpArryNames) 视为字符串而不是数组值。 (当我在过去的项目中使用 MooTools 时,动态变量不是问题。)如果我使用 $(array_states_MX) 和 $(array_states_names_MX) 代替,那么它就可以工作。但国家 ISO 值必须是动态的。

使这项工作正常进行的正确语法是什么?

最佳答案

您可以使用window对象,因为所有全局变量都存储在那里。

tmpArry = 'array_states_'+countryISO;
$(window[tmpArry]).each(){}

或者,为什么不使用嵌套数组而不是将它们命名为单独的东西?

array_states[countryISO]

关于jquery - 无法在 JQuery 中使用动态数组名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6446984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com