2

我正在尝试在 Javascript 中为我的应用程序实现搜索,但我遇到了一个问题,即我以前隐藏的项目不会再次出现。JSFiddle

我的代码在这里:

$('#search').keyup(function() {
    var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();

    $searchproject.show().filter(function() {
        var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
        return !~text.indexOf(val);
    }).parents('div.srcprojects').hide();
});

问题是我隐藏了过滤选择的父 srcprojects 容器,因此 keyup 不再显示它。

但是,如果我改变

$searchproject.show().filter(function() {

$searchproject.parents('div.srcprojects').show().filter(function() {

它根本不起作用。我究竟做错了什么?

4

1 回答 1

1

通过添加解决

$searchproject.parents('div.srcprojects').show();

完整代码:

$('#search').keyup(function() {
    var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
    $searchproject.parents('div.srcprojects').show();
    $searchproject.show().filter(function() {
        var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
        return !~text.indexOf(val);
    }).parents('div.srcprojects').hide();
});
于 2013-04-16T21:45:15.630 回答