我有一个表格,显示所有可用的课程。每个班级的TR ID是班级提供者+年级(例如:8年级的虚拟班级将是“Virtual8”)。然后我有一个'Provider'组合框,'Grade'组合框和'Class Title'文本框。单击“显示”时,它应隐藏所有TR,显示显示正确“提供者”+“成绩”ID的TR,然后隐藏任何不包含类搜索的TD的父(tr)。
目前,课程标题搜索根本不显示任何内容。
我知道这非常令人困惑,而且可能有一种更简单的方法。任何建议将不胜感激。如果我将“课程标题”框留空并仅搜索提供者和年级,则表单正常;但是,在搜索中添加类标题不会做任何事情。
守则:
<script src="jquery.missing.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#display").click(function() {
$('tr[id^="Independent"]').hide();
$('tr[id^="Virtual"]').hide();
$('tr[id^="Innovative"]').hide();
$('tr[id^="Lincoln"]').hide();
$('tr[id^="Missouri"]').hide();
$('tr[id^="Calvert"]').hide();
var result = $('#theprovider').val() + $('#thegrade').val();
$('tr[id*="' + result + '"]').show();
var search = $('#searchclass').val();
$('td:missing("' + search + '")').closest('tr').hide();
});
});
</script>
Missing.js Code(Darcy Clarke提供):
$.expr[':'].missing = function(elem, index, match) {
return (elem.textContent || elem.innerText || Sizzle.getText([elem]) || "").indexOf(match[3]) == -1;
}
答案 0 :(得分:1)
只有在封闭双引号内使用它们时才必须逃避怀疑引号,同样适用于单引号。
您可以尝试使用missing
和not
这样的组合代替contains
。
$('tr:gt(0)').not(":contains('" + search + "')").hide();