将多个过滤器应用于对象的最佳方式
Best way to apply multiple filters to an object
我正在对一些具有多个数据属性的元素构建过滤器。 IE。形状和颜色。
Here is a fiddle of the listeners
$('#colour input').on('change', function(e) {
data = ($('input[name="myRadio"]:checked', '#colour').val());
filter(data);
console.log(secondfilter);
e.preventDefault();
});
$('#shape input').on('change', function(e) {
from = ($('input[name="myRadio"]:checked', '#shape').val());
filter(from);
console.log(secondfilter);
e.preventDefault();
});
我需要结合听众,但我不确定最好的方法是什么。
我试过组合选择器,即 'square red',但没有 class 用于“.square red”。我需要过滤“.square”和“.red”。
抱歉,如果这还不够清楚!
提前感谢任何help/directions。
你可以这样试试:
$('#colour input, #shape input').on('change', function(){
$('#container .item').hide();
var colour = $('#colour input:checked').val() ? '.' + $('#colour input:checked').val() : '',
shape = $('#shape input:checked').val() ? '.' + $('#shape input:checked').val() : '';
$('#container .item' + colour + shape).show();
});
我正在对一些具有多个数据属性的元素构建过滤器。 IE。形状和颜色。
Here is a fiddle of the listeners
$('#colour input').on('change', function(e) {
data = ($('input[name="myRadio"]:checked', '#colour').val());
filter(data);
console.log(secondfilter);
e.preventDefault();
});
$('#shape input').on('change', function(e) {
from = ($('input[name="myRadio"]:checked', '#shape').val());
filter(from);
console.log(secondfilter);
e.preventDefault();
});
我需要结合听众,但我不确定最好的方法是什么。
我试过组合选择器,即 'square red',但没有 class 用于“.square red”。我需要过滤“.square”和“.red”。
抱歉,如果这还不够清楚!
提前感谢任何help/directions。
你可以这样试试:
$('#colour input, #shape input').on('change', function(){
$('#container .item').hide();
var colour = $('#colour input:checked').val() ? '.' + $('#colour input:checked').val() : '',
shape = $('#shape input:checked').val() ? '.' + $('#shape input:checked').val() : '';
$('#container .item' + colour + shape).show();
});