我正在尝试遍历表单中的复选框并将它们的值添加到多维 javascript 对象中。' attrib
' 数据属性将是关键。可能的键值是 ' category
'、' product_group
' 和 ' language
' 但我宁愿动态添加它们,以防将来添加更多。
我想最终得到一个像这样的对象,我可以轻松地将它作为 json_encode 的单个值发送到服务器。
values = {
'category' : {1,2,3},
'product_group' : {4,5,6},
'language': {'en','fr','de'}
};
代码如下。显然,每次迭代都会覆盖现有值而不是添加到现有值。我不确定在哪里可以创建 values[key] 作为对象...?
$('.filter input, .multiselect-container input').change(function() {
var values = {}
$('.filter input:checked').each(function() {
if($(this).is(':checked')) {
var key = $(this).data('attrib')
var value = $(this).val()
values[key] = value
// values[key].push(value) = calling method push of undefined ...
}
else {
// Remove value
}
})
console.log(values)
})