表的jQuery过滤器

时间:2017-02-21 05:24:11

标签: javascript jquery

我创建了一个表,但现在能够以某种方式过滤该行。它给我的错误,因为无法读取属性拆分。这是我的fiddle文件的链接。任何帮助都会很棒。提前谢谢。

$("#crudtable_filter").keyup(function () {
    //split the current value of searchInput
    var data = this.value.split(" ");
    //create a jquery object of the rows
    var jo = $("#crudtable").find("tr");
    if (this.value == "") {
        jo.show();
        return;
    }
    //hide all the rows
    jo.hide();

    //Recusively filter the jquery object to get results.
    jo.filter(function (i, v) {
        var $t = $(this);
        for (var d = 0; d < data.length; ++d) {
            if ($t.is(":contains('" + data[d] + "')")) {
                return true;
            }
        }
        return false;
    })
    //show the rows that match.
    .show();
}).focus(function () {
    this.value = "";
    $(this).css({
        "color": "black"
    });
    $(this).unbind('focus');
}).css({
    "color": "#C0C0C0"
});

1 个答案:

答案 0 :(得分:3)

工作小提琴:http://jsfiddle.net/sofqjbrg/3/

说明:

为了获取装配事件的元素的值,您需要使用$(event.target).val()

有关$(event.target)$(this)之间的差异,请参阅Difference between $(this) and event.target?

PS:您的焦点事件已注册到错误的元素。