筛选表并显示匹配结果 - jQuery
Filter table and display matching results - jQuery
目标
我正在尝试创建一个词汇表,其中顶部有按钮 A-Z,当您单击其中一个按钮时,它将对表格进行排序,仅显示包含字母作为第一个字符的表格。
如何调整以下内容以使其执行此操作?
function filter_table(letter) {
var rows = $('tr[data-filter]');
console.log("Searching for keywords with ['" + letter + "'] " + "as the first character.");
rows.hide();
rows.filter(function() {
return $(this).data('filter').search(letter) >= 0
}).show();
}
您正在检查search()
的结果是否为 >= 0
,这将告诉您该字符是否出现在字符串中的任何位置。 search()
返回在字符串中找到搜索词的位置。您要检查字符的位置是否正好为 0,这意味着它是字符串的第一个字符。
但是,手动执行此操作可能比委托给另一个函数更容易。
rows.filter(function() {
return $(this).data('filter')[0] == letter;
}).show();
下面是一个演示:
function filter_table(letter) {
var rows = $('tr[data-filter]');
console.log("Searching for keywords with ['" + letter + "'] " + "as the first character.");
rows.hide();
rows.filter(function() {
return $(this).data('filter')[0] == letter;
}).show();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr data-filter="apple">
<td>
Apple
</td>
</tr>
<tr data-filter="banana">
<td>
Banana
</td>
</tr>
<tr data-filter="canteloupe">
<td>
Canteloupe
</td>
</tr>
</table>
<button onClick="filter_table('a')">
A
</button>
<button onClick="filter_table('b')">
B
</button>
<button onClick="filter_table('c')">
C
</button>
相关文章:
- Javascript(jQuery)给了我奇怪的结果
- JQuery:向多个匹配结果添加换行符的最简单方法
- jQuery使用api获取typeform结果
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- 如何将jQuery/AAJAX结果放入表格单元格
- Jquery - 将我的两个类相乘没有结果
- JQuery Deferred Ajax,将结果保存在调用对象中
- 对于每个json结果,使用类jquery添加css
- 文本区域(jQuery)的结果不匹配
- 使用jquery显示mysql查询结果
- 正在反序列化jQuery.Serialize的结果(到数组,而不是到窗体)
- 使用jQuery延迟表单输入,并在延迟后在同一页面上显示结果
- JQuery 将结果的长度四舍五入
- jQuery.Validate - 如何将错误结果放在不同的地方
- 停止 jQuery 自动完成以过滤/搜索结果并填充整个源数组数据
- 使用 jQuery UI 折叠面板显示 couchDB 数据库搜索结果时出现问题
- 如何在表中找到所有可能的结果jquery
- 在视图页面上显示 AJAX 结果 jQuery
- 筛选表并显示匹配结果 - jQuery
- 当滚动到窗口顶部时,加载结果jQuery