我有几个复选框,根据选择的复选框来过滤产品。单击复选框时,过滤器将工作,并将产品ID添加到数组中。正如你所看到的,这两个过滤器都有一些相同的ID,所以如果他们点击了多个输入框,我想确保这些ID只被推入到数组中。例如。如果他们有input.white选择和input.greymelange选择,然后他们点击filter-btn我只想重复的id被推动一次。有什么办法可以做到这一点?只有在数组不存在的情况下才推送到阵列
JQUERY
var productIds = [""];
$(document).on('click', 'a.filter-btn', function(e){
$(".listingTemplate").html("");
if ($('input.white').is(':checked')) {
productIds.push("4021401143741", "4021402266227");
}
if ($('input.greymelange').is(':checked')) {
productIds.push("4021401143741", "4021402266227","4021402266418", "4021401143796");
}
});
HTML
<input type="checkbox" id="white" class="white" value="white" />
<input type="checkbox" id="greymelange" class="greymelange" value="greymelange" />
<a href="#" class="filter-btn">filter</a>
......你究竟想用这段代码来做什么?我认为重新设计您的代码来循环使用产品而不是过滤器会简化您的代码,并且对数据库更友好。 – user1618143