我在创建一个多维数组时遇到了一些麻烦,我在这里放了一些县里的县和地方。
我尝试做的例子:
[
'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
我有什么遗忘吗?或者我刚刚做错了吗?
答案 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);
})