Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript java脚本查询如何在单击时筛选表_Javascript_Jquery - Fatal编程技术网

Javascript java脚本查询如何在单击时筛选表

Javascript java脚本查询如何在单击时筛选表,javascript,jquery,Javascript,Jquery,我有一个表,其中有五个过滤器的输入文本,如本JSFIDLE所示 每当其中一个过滤器中有文本,并且当用户单击enter时,我想过滤表中的信息 我已经像这样模拟了回车键: $(document).ready(function () { $('#transactionIDFilter, #messageTypeFilter, #timestampFilter, #messageTextFilter, #originFilter, #destinationFilter ') .

我有一个表,其中有五个过滤器的输入文本,如本JSFIDLE所示

每当其中一个过滤器中有文本,并且当用户单击enter时,我想过滤表中的信息

我已经像这样模拟了回车键:

$(document).ready(function () {
    $('#transactionIDFilter, #messageTypeFilter, #timestampFilter, #messageTextFilter, #originFilter, #destinationFilter ')
        .keypress(function (e) {
            var key = e.which;
            if (key == 13) // the enter key code
            {
                alert('Oh boy');
                return false;
            }
        });
});
但我无法筛选行


你能帮帮我吗。我是js新手,所以您需要遵循的逻辑是

  • 获取输入字段的值并获取输入的索引 用户已按enter键的字段
  • 横穿所有道路
  • 选择从第一步获取的索引的td
  • 如果类型化值存在于获取的td中,则显示整行,否则隐藏实体行
  • 以下是可能有帮助的代码:

    $(
            '#transactionIDFilter, #messageTypeFilter, #timestampFilter, #messageTextFilter, #originFilter, #destinationFilter')
            .keypress(function (e) {
            var key = e.which;
            if (key == 13) // the enter key code
            {
                $val = $(this).val();
                $el = $(this).closest("td");
                var index = $("td").index($el);
                $("tr").not(".fixed").each(function () {
                    $elinner = $(this).find("td").eq(index);
                    if ($elinner.html().indexOf($val) != -1) {
                        $(this).show();
                    } else {
                        $(this).hide();
                    }
                });
                return false;
            }
        });
    

    您可以选择一个已经处理此问题的库,也可以使用jquery.filter方法手动执行此操作,以筛选表中的行您的代码只在我单击enter的单元格上工作。例如,如果第一个筛选器有单词,而第二个筛选器有单词,并且我在第二个筛选器中单击enter,则不会应用第一个单元格中存在的任何筛选器