0
HTMLjquery的濾波器
<ul>
<li data-filters={["red","green","blue"]}>x</li>
<li data-filters={["red","green","yellow"]}>x</li>
<li data-filters={["white","green","gray"]}>x</li>
</ul>
JQUERY
var searchIDs = []; // array used to filter
$(".filter_check input:checkbox:checked").map(function(){
searchIDs.push($(this).val());
});
我應該隱藏埃夫< LI>不具有值與選中複選框。如何在jQuery中做到這一點?
UPDATE
這工作,但只能選擇只有一個複選框。我需要選擇多個複選框
$('#container li').each(function(){
if (!$(this).data('filters').includes(searchIDs)) {
$(this).hide();
} else {
$(this).show();
}
})
UPDATE
var searchIDs = [];
function togRow(searchIDs) {
$('#container_box_result li').each(function(){
$(this).toggle(
searchIDs.every(function (id) {
return $(this).data('filters').includes(id)
}, this)
);
})
}
$(document).on('change', '.filter_check input',function(event){
event.preventDefault();
searchIDs = [];
$(".filter_check input:checkbox:checked").map(function(){
searchIDs.push($(this).val());
});
console.log(searchIDs);
togRow($(this).val().split(/\s*,\s*/));
});
爲您的代碼添加jsfiddle或代碼段 – Harsheet