Javascript多维数组未定义错误

时间:2015-09-21 09:43:44

标签: javascript jquery arrays multidimensional-array

我在创建一个多维数组时遇到了一些麻烦,我在这里放了一些县里的县和地方。

我尝试做的例子:

[
    'HEDMARK' => [
        1 => 'ELVERUM',
        2 => 'HAMAR 
    ],
    'OSLO' => [
        1 => 'OSLO'
    ]
]

使用的代码是:

    var $query_place = [];

    // Get each checked county
    $.each($('.county input:checkbox:checked'), function () {
        $query_place.push({
            county: $(this).val(),
            postal: []
        });
    });

    // Get each checked postal
    $.each($('.postal input:checkbox:checked'), function() {
        $query_place[$(this).attr('data-county')].postal.push();
    });

进入控制台的错误是:

TypeError: $query_place[$(...).attr(...)] is undefined

我有什么遗忘吗?或者我刚刚做错了吗?

the checkboxes

2 个答案:

答案 0 :(得分:1)

你必须像这样实现你的代码

var $query_place = [];    
    // Get each checked county
    $.each($('input:checkbox.county:checked'), function () {
        $query_place.push({
            county: $(this).val(),
            postal: setPostal($(this).val())
        });        
    });           

    function setPostal(county)
    {
        var postal = [];
        // Get each checked postal
        $.each($('input:checkbox.postal:checked'), function () {
            if ($(this).attr('data-county') == county)
                postal.push($(this).val());
        });
        return postal;
    }

答案 1 :(得分:0)

在将任何值推入之前,你必须解析$query_place数组对象。

$.each($('.county input:checkbox:checked'), function () {
var values={};
values.county= $(this).val();
values.postal=[];
var a=JSON.parse($query_place);
a.push(value);

})