2017-06-13 9 views
1

http://datatables.net/examples/api/tabs_and_scrolling.htmlこの例の は2つのテーブルを持ち、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()検索( 'ニューヨーク').draw()。。。 });

私はそれがクリッカブルたいと私はあなたがおそらく#myTable1<td>要素にクリックハンドラを追加する必要があります時間

答えて

0

のための任意の例を見つけることができませんでした。クリックされた要素の値を取り、第二のテーブルを作成するための関数を書く、そして、

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

:クリックリスナーをそれらを通して

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

ループおよび追加:

の要素を選択します。

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

これは完全にテストされていないため、おそらく間違いが2つありますが、それは確かです私は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(); 
    } 
}); 
+0

私はまだそれをテストしようとしています。私はそれを求めています。検索ボタンを空白にするために検索後に何をする必要がありますか?たとえば、検索ボタンの近くにクリアボタンを置くとしますか? – Andrew

+0

わかりません。検索をクリアする方法については、DataTableのドキュメントを参照する必要があります。私が推測しなければならないのは、おそらく 'table.draw();'です。 – Will

+0

これは私のjavascriptです。私は私のjavascriptにあなたのjsを編集することはできませんあなたはそれを編集してくださいできますか? { $( 'a [データトグル= "タブ"] ")。(' shown.bs.tab '、function(e){ $ .fn.dataTable。テーブル({可視:真、API:真}).columns.adjust(); }); \t $( 'table.table')データテーブル({ "順序":[ [0、「DESC。 「] ]、 ページング:真、 "oLanguage":{ "SURL": "JS/DIL/Turkish.json"、 }}); //のための第二のテーブルに検索を適用デモ $( '#myTable2')。DataTable(); }); – Andrew

関連する問題