JQuery搜索栏未正确隐藏div
我有一个设置,其中我的JQuery搜索栏未正确隐藏div,jquery,html,angular,Jquery,Html,Angular,我有一个设置,其中我的元素是通过ng repeat创建的。此元素的子元素是具有类用户面板名称的div。我一直在尝试使用名称中包含的文本过滤页面上的结果,获取输入框的值 我试过以下方法 $("#user-search-input").on('keyup', function () { var search = $(this).val().toLowerCase(); console.log(search); $(".user-panel").show().filter(
元素是通过ng repeat
创建的。此元素的子元素是具有类用户面板名称的div。我一直在尝试使用名称中包含的文本过滤页面上的结果,获取输入框的值
我试过以下方法
$("#user-search-input").on('keyup', function () {
var search = $(this).val().toLowerCase();
console.log(search);
$(".user-panel").show().filter(function () {
return $(this).find('user-panel-name').text().toLowerCase().indexOf(search) < 0;
}).hide();
});
$(“#用户搜索输入”)。在('keyup',函数(){
var search=$(this.val().toLowerCase();
控制台日志(搜索);
$(“.user panel”).show().filter(函数(){
返回$(this.find('user-panel-name').text().toLowerCase().indexOf(search)<0;
}).hide();
});
这一个根本没有运行
我将方法改为在onKeyUp中调用
function SearchUsers(e){
var search = $(e).val().toLowerCase();
console.log(search);
$(".user-panel").show().filter(function () {
return $(".user-panel").find('user-panel-name').text().toLowerCase().indexOf(search) < 0;
}).hide();
}
函数搜索用户(e){
var search=$(e.val().toLowerCase();
控制台日志(搜索);
$(“.user panel”).show().filter(函数(){
返回$(“.user panel”).find('user-panel-name').text().toLowerCase().indexOf(search)<0;
}).hide();
}
第二种方法运行良好,但始终隐藏所有元素。有人知道我哪里出错了吗
谢谢。我通过实现follow函数解决了我的问题
function searchUsers(e){
var search = $(e).val().toLowerCase();
$(".user-panel").each(function (){
if ($(this).find('.user-panel-name').text().toLowerCase().indexOf(search) < 0){
$(this).hide();
}else {
$(this).show();
}
})
}
函数搜索用户(e){
var search=$(e.val().toLowerCase();
$(“.user panel”)。每个(函数(){
if($(this).find('.user panel name').text().toLowerCase().indexOf(search)<0){
$(this.hide();
}否则{
$(this.show();
}
})
}
我不确定我最初的实现究竟是如何或为什么不起作用的,但在经历了几次擦肩而过之后,我采用了这种方法。我通过实现follow函数来解决我的问题
function searchUsers(e){
var search = $(e).val().toLowerCase();
$(".user-panel").each(function (){
if ($(this).find('.user-panel-name').text().toLowerCase().indexOf(search) < 0){
$(this).hide();
}else {
$(this).show();
}
})
}
函数搜索用户(e){
var search=$(e.val().toLowerCase();
$(“.user panel”)。每个(函数(){
if($(this).find('.user panel name').text().toLowerCase().indexOf(search)<0){
$(this.hide();
}否则{
$(this.show();
}
})
}
我不确定我最初的实现究竟是如何或为什么不起作用的,但经过几次尝试后,我采用了这种方法。控制台中没有错误?控制台中没有错误?