Jquery 为空时搜索所有

Jquery search all when empty

我在我的网站上做了一个搜索按钮,但是我有一个问题,当我删除文本时,文本框是空的,没有显示任何东西,我希望如果文本框是空的,那里会显示所有的项目。我该怎么做?

$(document).ready(function () {
    $("#searchdata tr").show();

    $('#searchdata tr').each(function () { 
        $(this).attr('data-text', function () {
            return $(this).text().toLowerCase();
        });
    });

    $('#searchbtn').bind('change keypress  keyup change', function () {
        $("#searchdata tr").hide();
        $('#searchdata tr[data-text*="' + $.trim($(this).val().toLowerCase()) + '"]').show();           
    });
});

还有我的网站:www.ledai.ae/locations

您可以修改您的逻辑以检查该值是否已设置,并采取相应行动。试试这个:

$('#searchbtn').bind('change keypress  keyup change', function () {
    var searchString = $.trim($(this).val().toLowerCase());
    if (searchString != '') {
        $("#searchdata tr").hide().filter('tr[data-text*="' + searchString + '"]').show();     
    } else {
        $("#searchdata tr").show();
    }      
});

您可以使用 toggle():

而不是 $("#searchdata tr").hide();
$("#searchdata tr").toggle(!this.value);

您可能希望 trim 它用于处理仅获取空格的输入:

$("#searchdata tr").toggle(!$.trim(this.value));