jQuery,表上的筛选器
我有一个问题,我使用了一个jquery插件(表上的过滤器) 这是URL: 但我有一点不同的情况: 我使用的是(文本框)(dropdawn菜单) 如果可能的话,请帮助我jQuery,表上的筛选器,jquery,select,filter,Jquery,Select,Filter,我有一个问题,我使用了一个jquery插件(表上的过滤器) 这是URL: 但我有一点不同的情况: 我使用的是(文本框)(dropdawn菜单) 如果可能的话,请帮助我 感谢您的方案,该插件可能有点过头了。使用下面的jQuery代码段可以达到预期效果: $(".filter_tb").change(function() { $(".food_planner tbody tr td:nth-child(2)").each(function () { if ($(this).t
感谢您的方案,该插件可能有点过头了。使用下面的jQuery代码段可以达到预期效果:
$(".filter_tb").change(function() {
$(".food_planner tbody tr td:nth-child(2)").each(function () {
if ($(this).text() != this.value) {
$(this).parent().hide();
} else {
$(this).parent().show();
}
});
});
如果您想使用该插件,可以通过修改以下行使其工作:
第26行:var words=phrase.toLowerCase().split(“”)
tovar words=phrase.toLowerCase()代码>
第87行:if(text.indexOf(words[i])=-1)返回false
toif(text!=words[i])返回false代码>对于您的场景,该插件可能有点过头了。使用下面的jQuery代码段可以达到预期效果:
$(".filter_tb").change(function() {
$(".food_planner tbody tr td:nth-child(2)").each(function () {
if ($(this).text() != this.value) {
$(this).parent().hide();
} else {
$(this).parent().show();
}
});
});
如果您想使用该插件,可以通过修改以下行使其工作:
第26行:var words=phrase.toLowerCase().split(“”)
tovar words=phrase.toLowerCase()代码>
第87行:if(text.indexOf(words[i])=-1)返回false
toif(text!=words[i])返回false代码>因此,如果您想简单地进行精确匹配,则过滤器可能有点过了头,但这里添加了一个额外的函数来实现这一点:
jQuery.uiTableFilter.is_word = function( str, words, caseSensitive )
{
var text = caseSensitive ? str : str.toLowerCase();
if(text == words) return true;
return false;
}
以下是我用于测试的完整代码:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="./tablefilter.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
var theTable = $('table.RegulatoryFilingsTable');
$(".filter_tb").change(function() {
$.uiTableFilter( theTable, this.value );
});
});
</script>
</head>
<body>
<select class="filter_tb">
<option value="">All</option>
<option value="6-K">6-K</option>
<option value="20-F">20-F</option>
<option value="SC 13G/A">SC 13G/A</option>
<option value="SC 13G">SC 13G</option>
<option value="F-10/A">F-10/A</option>
<option value="F-X">F-X</option>
<option value="F-10">F-10</option>
</select>
<br/><br/>
<table class="RegulatoryFilingsTable">
<thead><tr><th colspan="2">Your List</th><tr></thead>
<tbody>
<tr><td>6-K</td></tr>
<tr><td>20-F</td></tr>
<tr><td>SC 13G/A</td></tr>
<tr><td>SC 13G</td></tr>
<tr><td>F-10/A</td></tr>
<tr><td>F-X</td></tr>
<tr><td>F-10</td></tr>
</tbody>
</table>
</body>
</html>
因此,如果您想简单地进行精确匹配,则过滤器可能有点过分,但这里添加了一个额外的函数来实现这一点:
jQuery.uiTableFilter.is_word = function( str, words, caseSensitive )
{
var text = caseSensitive ? str : str.toLowerCase();
if(text == words) return true;
return false;
}
以下是我用于测试的完整代码:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="./tablefilter.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
var theTable = $('table.RegulatoryFilingsTable');
$(".filter_tb").change(function() {
$.uiTableFilter( theTable, this.value );
});
});
</script>
</head>
<body>
<select class="filter_tb">
<option value="">All</option>
<option value="6-K">6-K</option>
<option value="20-F">20-F</option>
<option value="SC 13G/A">SC 13G/A</option>
<option value="SC 13G">SC 13G</option>
<option value="F-10/A">F-10/A</option>
<option value="F-X">F-X</option>
<option value="F-10">F-10</option>
</select>
<br/><br/>
<table class="RegulatoryFilingsTable">
<thead><tr><th colspan="2">Your List</th><tr></thead>
<tbody>
<tr><td>6-K</td></tr>
<tr><td>20-F</td></tr>
<tr><td>SC 13G/A</td></tr>
<tr><td>SC 13G</td></tr>
<tr><td>F-10/A</td></tr>
<tr><td>F-X</td></tr>
<tr><td>F-10</td></tr>
</tbody>
</table>
</body>
</html>
因此,您希望它完全匹配,而不是根据条目可能包含的文本进行筛选。因此,您希望它完全匹配,而不是根据条目可能包含的文本进行筛选。脚本中有问题,它隐藏了所有行,而不仅仅是父行脚本中有问题,它隐藏了所有行,而不仅仅是父行