【发布时间】:2015-09-21 09:43:44
【问题描述】:
我在创建一个多维数组时遇到了一些麻烦,我在其中放置了该县的一些县和地方。
我想做什么的例子:
[
'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
我在这里忘记了什么吗?还是我做错了?
【问题讨论】:
-
您是否特别需要对象数组?在这里,单个对象似乎是一种更简单有效的解决方案。
-
最好使用
$().data( attributeName ),注意countytypo 可能^^ -
查看您的浏览器开发工具(例如 firefox 中的 firebug),看看您的阵列中到底有什么,这可能会有所帮助。
-
是的,我需要一个对象数组。这样每个县都有自己的邮政阵列。尝试改用
$().data,但我得到了同样的错误。我试图将$.each邮政线路的内部切换到alert($(this).val());但它没有提醒任何东西,所以我认为我不能使用 $(this) 出于某种原因。 -
我知道每个县都能正常工作 (imgur.com/wlZYu5p)。我只需要知道将每个邮件推送到它所属的数组中。我该怎么做?我尝试了以下方法,但它给了我一个错误 (TypeError: $query_place.county is undefined)
$query_place.county[$(this).attr('data-county')].postal.push($(this).val());
标签: javascript jquery arrays multidimensional-array