我有几个要素:
<fieldset data-filter-type="services" data-filter="contract">
<fieldset data-filter-type="services" data-filter="mortgage">
<fieldset data-filter-type="services" data-filter="valuation">
从这些元素我试图构建关联数组以向服务器发送一些过滤器,所以我这样做:
var filters = {};
filtersContainer.find('fieldset').each(function() {
filters[$(this).data('filter-type')] = $(this).data('filter');
return filters;
});
数组正在构建,但只有一个元素 - 最后一个元素filters[services]:valuation
。我认为这是因为每个元素都具有相同的键值services
。如何使用所有对象构建数组?
答案 0 :(得分:1)
你需要做这样的事情:
var filters = [];
filtersContainer.find('fieldset').each(function() {
filters.push([$(this).data('filter-type'), $(this).data('filter')]);
});
根据定义,关联数组(对象)不能有重复的键。