3

我正在尝试搜索表格并仅显示与输入匹配的结果。

下面的脚本正在工作,但我需要它仅在第一列中“搜索”,并且无需用户单击输入即可执行此操作,但在页面加载时获取默认值 =“”。我尝试使用 val 但它不起作用。还尝试用 td 等更改 tr 但它开始出现故障。

这是我到目前为止所做的 -> JsFiddle 。

这是jQuery。

$(document).ready(function () {

    $("#searchee").on('click', function() {
        var rows = $("#table").find("tr").hide();
        var data = this.value.split(" ");

        $.each(data, function(i, v) {
            rows.filter(":contains('" + v + "')").show();
        });
    });

});
4

1 回答 1

4

尝试

<input id="searchee" value="11 6.5 5">

$(document).ready(function () {

    $("#searchee").keyup(function() {
        var rows = $("#table").find("tr").hide();
        var data = this.value.split(" ");

        $.each(data, function(i, v) {
            rows.has("td:first-child:contains('" + v + "')").show();
        });
    }).keyup();

});

演示:小提琴

如果您想继续使用占位符,那么

$(document).ready(function () {

    $("#searchee").keyup(function() {
        var rows = $("#table").find("tr").hide();
        var value = this.value.length == 0 ? $(this).attr('placeholder') : this.value;
        var data = value.split(" ");

        $.each(data, function(i, v) {
            rows.has("td:first-child:contains('" + v + "')").show();
        });
    }).keyup();

});

演示:小提琴

于 2013-09-26T14:08:14.943 回答