基于用户输入动态构造数组 - Javascript / jQuery

时间:2010-08-20 09:00:26

标签: javascript jquery arrays forms

我有一个美国地区列表设置为复选框。当用户提交表单时,我需要一组关联的状态。此数组用于与我的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')来识别每个数组,但我遇到动态命名数组的问题,因为我的所有函数都在静态类中。

1 个答案:

答案 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将包含所有选定区域的所有状态。

不知道任何真正的美国州缩写的道歉。