来自表的jquery搜索列表名称

时间:2014-07-25 10:23:07

标签: javascript jquery

我想按this link进行搜索 但我有multiple row来搜索td值,那么我如何添加搜索来自所有td的数据呢? 谢谢!

$("#search").on("keyup", function() {
    var value = $(this).val();

    $("table tr").each(function(index) {
        if (index !== 0) {

            $row = $(this);

            var id = $row.find("td:first").text();

            if (id.indexOf(value) !== 0) {
                $row.hide();
            }
            else {
                $row.show();
            }
        }
    });
});

3 个答案:

答案 0 :(得分:0)

这是link

新的jquery:

$("#search").on("keyup", function() {
    var value = $(this).val();

    $("table tr").each(function(index) {
        if (index !== 0) {

            $row = $(this);

           $row.find("td").each(function(){
               var id =$(this).text();

            if (id.indexOf(value) !== 0) {
                $row.hide();
            }
            else {
                $row.show();
            }
           });
        }
    });
});

答案 1 :(得分:0)

您可以使用filter()查找当前行中与文本匹配的td个元素。试试这个:

var $row = $(this);
var tdMatches = $('td', $row).filter(function() {
    return $(this).text().indexOf(value) != -1;
}).length;
tdMatches == 0 ? $row.hide() : $row.show()

Updated fiddle

答案 2 :(得分:0)

$("#search").on("keyup", function () {
    var value = this.value.trim();
    if (value) {
        var data = $("table tr td").filter(function () {
            return value == $(this).text();
        }).parent();
        $("table tr:gt(0)").hide();
        data.show();
    } else {
        $("table tr").show();  // all data show if the value is 0 If you want do or remove that
    }
});

DEMO