将文本写入搜索框后自动触发Enter键?

时间:2015-07-17 20:16:02

标签: javascript jquery triggers datatables datatables-1.10

在我将img alt中的文本放入搜索框后,我正在编写一些代码来触发 Enter

我正在使用jQuery DataTables。但我想在表外创建自己的过滤器。我想要点击图标来过滤表格。

因为如果你在搜索框中放置文本,jQuery DataTables可以提取结果,我想如果我可以从img alt获取文本并将文本写入搜索框,它将进行过滤。

但它没有用,需要输入。

那么如何触发 Enter ?或者这样做是完全错误的想法?

 <img alt="High School" src="../../slack.png" class="icon"></img>
    <script>
    $(function(){
      $('.icon').on('click', function(){
       var text = $('.icon').first().attr("alt");
      $('.dataTables_wrapper .dataTables_filter input').val(text);
      $('input').submit();
      })
    })
   </script>

帖子更新。它已经解决了,它可以与dataTable一起使用。 这是代码:

<img alt="High School" src="../../slack.png" class="icon" id="High School"></img>
    <img alt="Elementary School" src="../../ai.png" class="icon" id="Elementary School"></img>
<script>
var e = jQuery.Event("keyup");
e.which = 13;
$(function(){
  $('.icon').on('click', function(){
   var text = $(this).attr("id");
  $('.dataTables_wrapper .dataTables_filter input').val(text);
  $('input').trigger('keyup',e);

  })
})

2 个答案:

答案 0 :(得分:0)

这样的事情怎么样?

<强> HTML

<html>
    <head>
        <title>Your Title</title>
    </head>
    <body>
        <form action="functions.php">
            <input type="text" name="user_input" id="search">
            <button type="submit" name="search">Search</button>
        </form>
    </body>
</html>

然后在你的javascript代码中。加上这个:

<强>的Javascript

$(document).ready(function(){
    var search_box = $("input#search");
    search_box.on("input blur change", function(){
        $(this).closest("form").submit();
    });
});

答案 1 :(得分:0)

  

&#34;我想要点击图标来过滤表格&#34;

我认为你使这项任务过于复杂。如果你有一个由

创建的dataTable
var table = $('#example').DataTable();

然后您需要做的就是,如果您想点击alt<img>时使用.icon属性进行搜索:

$(".icon").click(function() {
    table.search(this.alt).draw();
});

演示 - &gt;的 http://jsfiddle.net/twpe2cpz/