【发布时间】:2023-03-28 07:01:02
【问题描述】:
我有多个复选框,我读取并组合成一个逗号分隔的字符串。 使用该字符串,我想将所有内容隐藏在不包含此逗号分隔字符串的表中。 不同的复选框返回不同的值(72.0 x 102.0、64.0 x 90.0、90.0 x 64.0) 我的代码:
$('#kbafilter input[type="checkbox"]').click(function(){
contain=$('#kbafilter :checked').map(function() {return ':contains("' + this.value + '")';}).get().join(',');
alert(contain);
if($(this).is(':checked')){
$('#orderlist tbody tr:not(' + contain +')').hide();
}
else{
$('#orderlist tbody tr:not(:contains(' + $(this).val() + '))').show();
}
});
此代码不起作用,它只会显示与选中的第一个复选框匹配的内容,但如果我将 TRUE 的 IF 更改为
$('#orderlist tbody tr:not(:contains("72.0 x 102.0"),:contains("64.0 x 90.0"))').hide(); //working
那么我的表将只包含那些包含“72.0 x 102.0”或“64.0 x 90.0”的 TR
那么可能有什么问题。有效的包含行是直接从 alert() 弹出的内容复制而来的!?!?
最好的问候 尼古拉斯
【问题讨论】: