我有一个美国地区列表设置为复选框。当用户提交表单时,我需要一组关联的状态。此数组用于与我的SQL表中的另一个数组进行比较。
使用jQuery或javascript,最好的方法是什么?
我有一个相信的总体想法:
//populate region to state arrays here
$("input[name='region']").each(function () {
if ($(this).is(':checked')) {
// ADD TO SUPER ARRAY OF ALL REGIONS
// (this is where I need help)
}
});
提前致谢!!
PS。我尝试使用输入值var regionValue = $(this).attr('value')
来识别每个数组,但我遇到动态命名数组的问题,因为我的所有函数都在静态类中。
答案 0 :(得分:2)
编辑以反映新信息并纳入GenericTypeTea的评论:
假设每个复选框的ID都设置为区域名称,那么:
var regionStates = {};
regionStates['northeast'] = ['AB', 'CD', 'EF'];
regionStates['mountains'] = ['GH', 'IJ', 'KL'];
// etc...
var selectedStates = [];
$("input[name='region']:checked").each(function () {
var region = regionStates[this.id];
for (var i = 0; i < region.length; ++i) {
selectedStates[selectedStates.length] = region[i];
}
});
使用此选项,selectedStates将包含所有选定区域的所有状态。
不知道任何真正的美国州缩写的道歉。