Javascript 通过multiselect隐藏/显示表格行
目前,我正在使用bootstrap multiselect插件对表进行筛选。我很难让它正常工作。我想根据multiselect中的选定值显示/隐藏表行。例如,如果行的值为已激活,则只应显示具有激活值的行,其他行将被隐藏。如果我选择了激活和停用,则将显示值为激活和停用的行。如果我选择了所有选中的,则应显示所有行。在此处检查我的代码:Javascript 通过multiselect隐藏/显示表格行,javascript,jquery,html,twitter-bootstrap-3,bootstrap-multiselect,Javascript,Jquery,Html,Twitter Bootstrap 3,Bootstrap Multiselect,目前,我正在使用bootstrap multiselect插件对表进行筛选。我很难让它正常工作。我想根据multiselect中的选定值显示/隐藏表行。例如,如果行的值为已激活,则只应显示具有激活值的行,其他行将被隐藏。如果我选择了激活和停用,则将显示值为激活和停用的行。如果我选择了所有选中的,则应显示所有行。在此处检查我的代码: $('#custom-select').multiselect({ includeSelectAllOption: true, onCha
$('#custom-select').multiselect({
includeSelectAllOption: true,
onChange: function(option, checked) {
var selected = [];
$('#custom-select option:selected').each(function() {
selected.push($(this).val());
});
console.log(selected);
$.each(selected, function(i, val) {
$('#custom-table tr > td:not(:contains('+val+'))').closest('tr').hide();
$('#custom-table tr > td:contains('+val+')').closest('tr').show();
//console.log(val);
});
}
});
我目前在上的工作是在每个循环中隐藏表行
tr
。因此,上一次循环运行时,它隐藏了它应该显示的行。在执行show
之前,将其从循环中取出并隐藏所有行
$(document).ready(function() {
$('#custom-select').multiselect({
includeSelectAllOption: true,
onChange: function(option, checked) {
var selected = [];
$('#custom-select option:selected').each(function() {
selected.push($(this).val());
});
$('#custom-table tr').hide(); // <-----
$.each(selected, function(i, val) {
$('#custom-table tr > td:contains('+val+')').closest('tr').show();
});
}
});
});
$(文档).ready(函数(){
$(“#自定义选择”).multiselect({
includeAlloption:true,
onChange:函数(选项,选中){
所选var=[];
$(“#自定义选择选项:选定”)。每个(函数(){
已选择.push($(this.val());
});
$(“#custom table tr').hide();//这可能会有帮助:esp本页最后一个JSFIDLE。@vanburenx了解这个示例,但它使用的是类而不是单元格值。我从来没有想过这会很容易。谢谢@Patel@myRM这对我们中最好的人来说都是如此。干杯!:)演示程序工作不正常。请检查并更新它。