我首先有一个表,假设由 tr 和 td 定义 4x4 最后一个 td 包含一个复选框,它只能是 2 个选项,完整或不完整(选中或未选中)。
现在,在表格顶部,我有另一个下拉列表,用作过滤器(全部、已完成、不完整)
根据过滤器值,我的JS隐藏或显示请求的数据:
var sel = $("#Filter option:selected").text();
if (sel == "All") {
$('tr').find('td:has(:checkbox:checked)').parent().show();
$('tr').find('td:has(:checkbox:not(:checked))').parent().show();
}
if (sel == "Complete") {
$('tr').find('td:has(:checkbox:not(:checked))').parent().hide();
$('tr').find('td:has(:checkbox:checked)').parent().show();
}
if (sel == "Incomplete") {
$('tr').find('td:has(:checkbox:checked)').parent().hide();
$('tr').find('td:has(:checkbox:not(:checked))').parent().show();
}
这就像一个魅力。
现在,我想更改下拉列表的复选框。 但我找不到 JQuery 的方法来做到这一点。 我不知道比较 tr 内 td 内下拉列表内文本的语法。
我尝试过:
$('tr').find('td').find(".dropdown :selected").parent().hide();
但我找不到指定所选选择内文本的方法..
最佳答案
使用这样的东西:
$("tr td .dropdown:selected[value='WHATEVER']").parent().hide();
测试 drop 元素的值。或者,如果您想测试下拉元素的文本:
$("tr td .dropdown:selected:contains(WHATEVER)").parent().hide();
关于javascript - jQuery 根据表格内容隐藏行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24707459/