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();
}
})
}

我不确定我最初的实现究竟是如何或为什么不起作用的,但经过几次尝试后,我采用了这种方法。

控制台中没有错误?控制台中没有错误?