如何通过可单击列搜索同一页面中的值

时间:2017-06-13 17:25:12

标签: 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(); });

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

1 个答案:

答案 0 :(得分:0)

您可能需要为<td>的{​​{1}}元素添加点击处理程序。

选择元素:

#myTable1

循环遍历它们并添加一个点击监听器:

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

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

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

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

好的,我有几个错误。在您的JS Bin中,将您的JavaScript更改为:

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