Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于用户输入动态构造数组——Javascript/jQuery_Javascript_Jquery_Arrays_Forms - Fatal编程技术网

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

基于用户输入动态构造数组——Javascript/jQuery,javascript,jquery,arrays,forms,Javascript,Jquery,Arrays,Forms,我有一个美国地区的列表设置为复选框。当用户提交表单时,我需要一个关联状态数组。此数组用于与我的SQL表中的另一个数组进行比较 使用jQuery或javascript,最好的方法是什么 我有一个大致的想法,我相信: //populate region to state arrays here $("input[name='region']").each(function () { if ($(this).is(':checked')) {

我有一个美国地区的列表设置为复选框。当用户提交表单时,我需要一个关联状态数组。此数组用于与我的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)

            }
        });
提前谢谢


另外,我尝试使用输入值
var regionValue=$(this).attr('value')
来标识每个数组,但由于我的所有函数都在静态类中,因此我在使用动态命名数组时遇到了问题。

经过编辑以反映新信息并合并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];
    }
});
var regionStates={};
区域州['northeast']=['AB','CD','EF'];
地区州['mountains']=['GH','IJ','KL'];
//等等。。。
var-selectedStates=[];
$(“输入[name='region']:选中”)。每个(函数(){
var region=regionStates[this.id];
对于(变量i=0;i
使用此选项,SelectedState将包含所有选定区域的所有状态


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

+1非常整洁的解决方案。我要添加的唯一一件事是将选择器更改为
$(“input[name='Region']:checked”)
。对不起,我可能还没有完全弄清楚。每个区域复选框都与状态数组相关联。据我所知,此解决方案将向下一个打开的阵列插槽添加单个状态。所以比如说:东北部、山区、太平洋都有检查。我制作数组,用各自的状态填充每个区域。超级阵列如何成为所有这些区域阵列的组合?谢谢抱歉说不清楚。马特非常优雅!!非常感谢。