javascript - 如何通过可点击的列在同一页面中搜索值

标签 javascript jquery datatables

http://datatables.net/examples/api/tabs_and_scrolling.html 在此示例中,有两个表,Table2 是自己的搜索页面。我想做一个像 <a href 这样的页面然后点击搜索按钮自动取值。

    >$(document).ready(function() {
        $('a[data-toggle="tab"]').on( 'shown.bs.tab', function (e) {
            $.fn.dataTable.tables( {visible: true, api: true} ).columns.adjust();
        } );

        $('table.table').DataTable( {
            ajax:           '../ajax/data/arrays.txt',
            scrollY:        200,
            scrollCollapse: true,
            paging:         false
        } );


    // Apply a search to the second table for the demo
$('#myTable2').DataTable().search( 'New York' ).draw(); } );

这个 jQuery 有那行

$('#myTable2').DataTable().search( 'New York' ).draw(); } );

我希望它可点击,但我几个小时都找不到任何示例

最佳答案

您可能需要向 <td> 添加一个点击处理程序#myTable1 的元素。

选择元素:

var elements = document.querySelectorAll('#myTable1 > td');

循环它们并添加点击监听器:

for(var ix = 0, length = elements.length; ix < length; ix++) {
    elements[ix].addEventListener('click', onElementClick);
}

然后,编写一个函数来获取单击元素的值并创建第二个表:

function onElementClick() {
    $('#myTable2').DataTable().search( this.value ).draw(); } );
}

这完全未经测试,我可能有一两个错误,但这可能是我会尝试的,因为我懒得阅读所有 DataTables 文档。 :D

好吧,我有一些错误。在您的 JS Bin 中,将 JavaScript 更改为:

$(document).ready( function () {
  var table = $('#example').DataTable();

  $("#search").click(function() {
    table.search("rhona").draw();
  });

  var elements = document.querySelectorAll('#example td');

  for(var ix = 0, length = elements.length; ix < length; ix++) {
    elements[ix].addEventListener('click', onElementClick);
  }

  function onElementClick() {
    table.search(this.innerText).draw();
  }
});

关于javascript - 如何通过可点击的列在同一页面中搜索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44527917/

相关文章:

javascript - CKeditor 删除图像对齐属性

javascript - 在 vs 2008 firefox 3.5+ 中调试

jquery - 禁用 JQuery 消息框外部的单击

javascript - 在 ASP.NET MVC 中使用 ajax 使用 CRUD 操作时,DataTable 插件不起作用

javascript - 页面上有多个视频需要自动播放单击的按钮之一

javascript - 如何比较两个字符串而不考虑它们的大小写?

javascript - jQuery切换类冲突

javascript - 使用 DataTable JSON 填充下拉列表

javascript - Angularjs 的数据表 : default sorting and searching not work

javascript - Dojo 构建如何缩小用 ECMASCRIPT5 编写的代码?