すべてのフィルターが削除されたときに、この関数をすべての表示に戻すにはどうすればよいですか?
に変更if (attrColor == 'All') {...}
してみましたif (attrColor == 'All' || attrColor == '') {...}
関数の簡単な例をフィドルに投稿しました: http://jsfiddle.net/chayacooper/WZpMh/88/
$(document).ready(function () {
var selected = [];
$('#attributes-Colors *').click(function () {
var attrColor = $(this).data('color');
var $this = $(this);
if ($this.parent().hasClass("active")) {
$this.parent().removeClass("active");
selected.splice(selected.indexOf(attrColor),1);
}
else {
$this.parent().addClass("active");
selected.push(attrColor);
}
if (attrColor == 'All') {
$('#content').find('*').show();
} else {
$("#content").find("*").hide();
$.each(selected, function(index,item) {
$('#content').find('[data-color *="' + item + '"]').show();
});
}
return false;
});
});