目前代码如下所示,
var child_tids = [];
$('.term-selection').each(function(index){
var field = $(this).attr('field');
child_tids.push($(this).val());
});
我需要根据属性'field'来隔离它 所以我尝试了下面的
var child_tids = [];
$('.term-selection').each(function(index){
var field = $(this).attr('field');
child_tids[field].push($(this).val());
});
但是它给了我控制台中的错误“无法读取未定义的属性推送,我该如何实现呢?
答案 0 :(得分:3)
child_tids
需要是一个对象,然后为您可以尝试的每个字段创建一个数组:
var child_tids = {};
$('.term-selection').each(function(index){
var field = $(this).attr('field');
if (!child_tids[field]) child_tids[field] = [];
child_tids[field].push($(this).val());
});
答案 1 :(得分:1)
您需要的是一个对象而不是一个数组。使用类似的东西:
var child_tids = {};
$('.term-selection').each(function(index) {
var field = $(this).attr('field');
if (typeof child_tids[field] != "object") child_tids[field] = [];
child_tids[field].push($(this).val());
});