Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更换滤清器并更换至或_Javascript_Jquery - Fatal编程技术网

Javascript 更换滤清器并更换至或

Javascript 更换滤清器并更换至或,javascript,jquery,Javascript,Jquery,我使用此代码筛选用户选择的选项。 这段代码按和过滤元素,但我需要将其更改为或 工作示例: $('.flowers wrap,.planets wrap').delegate('input[type=checkbox],'change',function(){ 变量$lis=$('.flowers>div'), $checked=$('input:checked'); 如果($checked.length){ var选择器=“”; $($选中)。每个(函数(索引、元素){ 选择器+=“[data

我使用此代码筛选用户选择的选项。 这段代码按和过滤元素,但我需要将其更改为或

工作示例:

$('.flowers wrap,.planets wrap').delegate('input[type=checkbox],'change',function(){
变量$lis=$('.flowers>div'),
$checked=$('input:checked');
如果($checked.length){
var选择器=“”;
$($选中)。每个(函数(索引、元素){
选择器+=“[data category~='”+element.id+”];
});
$lis.hide();
$('.flowers>div')。过滤器(选择器).show();
}否则{
$lis.show();
}
});

要使其成为
选择器,需要用逗号分隔每个属性选择器。同样地,您可以使用
map()
构建字符串数组,然后在使用它们之前将它们连接在一起

还要注意,
delegate()
很久以前就被弃用了。您应该改用()上的

var$flowers=$('.flowers>div');
$('.flowers wrap,.planets wrap')。在('change','input[type=checkbox]',function()上{
var$checked=$('input:checked');
如果($checked.length){
变量选择器=$checked.map(函数(索引,元素){
返回“[datacategory~='”+element.id+”];
}).get().join(',');
$flowers.hide().filter(selector.show();
}否则{
$flowers.show();
}
});
正文{
字体系列:“Arial”;
颜色:#6464;
}
.行星包装{
浮动:左;
宽度:20%;
利润率:0.5%0.0;
填充:0;
字体大小:12px;
}
.鲜花包装{
浮动:左;
宽度:20%;
利润率:0.5%0.0;
填充:0;
位置:相对位置;
}
h3{
字体大小:14px;
字体大小:正常;
}
.鲜花包裹,
.花卉包装标签{
字体大小:12px;
}
.花{
浮动:左;
宽度:50%;
}
.花卉部{
浮动:左;
宽度:90%;
高度:68px;
线高:68px;
填充:0.5%;
背景:#eee;
利润率:0.01倍;
位置:相对位置;
}

可用花卉
按颜色过滤花朵:

红色
黄色
紫色
其他 按大小过滤花朵:

小的
中等
大的 可用行星 火星 维纳斯 土 木星 土星 水星 臭花 凝乳机 雏菊 奇才袖 玫瑰
在js fiddle代码中,将字符串选择器替换为表变量选择器=[]

然后按如下方式将元素推送到它:selector.push(“[datacategory~='”+element.id+“]”)

然后遍历它:selector.forEach(sel=>{$('.flowers>div').filter(sel.show();})


你是说你的
$('.flowers wrap,.planets wrap')
选择器吗?“工作示例:“按照这种方式,你的整个问题(包括任何必要的代码)必须在你的问题中,而不仅仅是链接。原因有两个:人们不应该非得去场外帮助你;链接腐烂,使问题及其答案对未来的人们毫无用处。请在问题中加一个。更多:是的,我添加了到JSFIDLE示例的链接