通过单击链接并在表中显示Jquery筛选器列表
我试图通过href值获取propper search,但当我单击每个值时,它会显示空白表, 值的索引始终为0。我尝试了所有的方法,但没有一个奏效。我认为主要的问题在脚本中,因为它总是显示每个元素的空白索引 有人能告诉我我错过了什么吗 代码如下:通过单击链接并在表中显示Jquery筛选器列表,jquery,filter,href,clicking,Jquery,Filter,Href,Clicking,我试图通过href值获取propper search,但当我单击每个值时,它会显示空白表, 值的索引始终为0。我尝试了所有的方法,但没有一个奏效。我认为主要的问题在脚本中,因为它总是显示每个元素的空白索引 有人能告诉我我错过了什么吗 代码如下: //这个脚本正在运行 $(文档).ready(函数(){ $(“#myInput”)。在(“keyup”,function(){ var value=$(this.val().toLowerCase(); $(“#myTable tr”).filte
//这个脚本正在运行
$(文档).ready(函数(){
$(“#myInput”)。在(“keyup”,function(){
var value=$(this.val().toLowerCase();
$(“#myTable tr”).filter(函数(){
$(this).toggle($(this).text().toLowerCase().indexOf(value)>-1)
});
});
});
桌子{
字体系列:arial,无衬线;
边界塌陷:塌陷;
宽度:100%;
}
td,th{
边框:1px实心#dddddd;
文本对齐:左对齐;
填充:8px;
}
.奇怪{
背景:#5a95ee;
}
.甚至{
背景#7eb9e0;
}
预兆
提示
纳斯塔夫尼克
扒
丹
终点站
乌西尼卡
{raspored在rasporedi%中为raspored%}
{{raspored['predmet']}
{{raspored['tip']}
{{raspored['nastavnik']}
{{raspored['grupe']}}//Python列表(来自mongodb的数据)
{{raspored['dan']}
{{raspored['termin']}
{{raspored['ucionica']}
{%endfor%}
纳斯塔夫尼克
乌西尼卡
{%用于dr%中的raspored}
//这个脚本有点问题,但我不知道是什么
$(document).on(“click”,“.nastavnik”,function()){
var nastavnik=$(“#myInput”).val($(this.text());
$(“#myTable tr”).filter(函数(){
$(this).toggle($(this).text().toLowerCase().indexOf(nastavnik)>-1)
});
});
{%endfor%}
您可能需要以下内容:
$(document).on("click", ".nastavnik", function() {
let nastavnik = $("#myInput").val(); //<-- get, not set, the entere val
$("#myTable tr").show().filter(function() {
return $(this).text().toLowerCase().indexOf(nastavnik.toLowerCase()) == -1;
}).hide();
});
$(文档).on(“单击“,”.nastavnik“,函数()){
让nastavnik=$(“#myInput”).val();//您可能需要如下内容:
$(document).on("click", ".nastavnik", function() {
let nastavnik = $("#myInput").val(); //<-- get, not set, the entere val
$("#myTable tr").show().filter(function() {
return $(this).text().toLowerCase().indexOf(nastavnik.toLowerCase()) == -1;
}).hide();
});
$(文档).on(“单击“,”.nastavnik“,函数()){
让nastavnik=$(“#myInput”).val()//欢迎使用SO。您误解了什么是filter()
确实如此。您似乎认为它会显示/隐藏元素,这不是它的工作。它只是将一组匹配的元素筛选到一个子集。请阅读。谢谢。所以,如果筛选器不是propper函数,我应该使用什么在表上显示单击的值(实时搜索)?这是一个适当的函数-它只是没有做你认为它做的。你需要过滤然后show()
或hide()
。因此,我需要切换,而是显示()?$(this)。切换($(this)。text().toLowerCase().indexOf(nastavnik)>-1)它将是:$(this)。show($(this)。text().toLowerCase().indexOf(nastavnik)>-1)?不完全正确。您可能需要更多的jQuery教程。您假设的太多了,例如,您认为可以将参数传递给show()
。jQuery通过链接工作-首先您派生一个元素集合,然后通过将方法链接到它们来处理它们。因此:$('.some.selector').filter(function(){/*…*/}.hide()例如,
toggle()`相当于show()
/hide()
,所以是的,您也可以使用它。欢迎使用so。您误解了什么是filter()
确实如此。您似乎认为它会显示/隐藏元素,这不是它的工作。它只是将一组匹配的元素筛选到一个子集。请阅读。谢谢。所以,如果筛选器不是propper函数,我应该使用什么在表上显示单击的值(实时搜索)?这是一个适当的函数-它只是没有做你认为它做的。你需要过滤然后show()
或hide()
。因此,我需要切换,而是显示()?$(this)。切换($(this)。text().toLowerCase().indexOf(nastavnik)>-1)它将是:$(this)。show($(this)。text().toLowerCase().indexOf(nastavnik)>-1)?不完全正确。您可能需要更多的jQuery教程。您假设的太多了,例如,您认为可以将参数传递给show()
。jQuery通过链接工作-首先您派生一个元素集合,然后通过将方法链接到它们来处理它们。因此:$('.some.selector').filter(function(){/*…*/}.hide()例如,
toggle()`相当于show()
/hide()
是的,您也可以使用它。我现在尝试了,它不起作用。它显示的是一个完整的表格,而不是单击的文本。没有理由不起作用。请用JS Fiddle或类似的方法,使用我的代码来演示这个问题。这是jsfiddle,当您单击“某个教师”时,它不会显示(刷新)在table.中,很抱歉,这是collab链接,我现在尝试了它,它不起作用。它显示的是整个表,而不是单击的文本。没有理由不起作用。请使用JS Fiddle或类似工具,使用我的代码来演示这个问题。这是jsfiddle,当您单击“某个教师”时,它不会显示(刷新)对不起,这是collab链接