現在実装している、検索欄が選択されたときのイベントは下記ソースのようになっています。
現在はそれぞれの検索欄に対応した1列だけに対する検索になっています。
これを、一つの検索欄で複数の列(Column - Name・Column - Position・Column - Office)に対応させたいのですが方法が分かりません。
ご教授をお願いします。
また、検索方法はColumn - Name・Column - Position・Column - Office列内のどこかでヒットした時点で、その行を描画するという方式です。
lang
1$(document).ready(function() { 2 $('#example').dataTable(); 3 4 $('input.column_filter').on( 'keyup click', function () { 5 filterColumn( $(this).parents('tr').attr('data-column') ); 6 } ); 7} ); 8 9//検索欄が選択されたときのイベント 10function filterColumn(i) { 11 $('#example').DataTable().column(i).search( 12 $('#col' + i + '_filter').val() 13 ).draw(); 14}
lang
1<table style="width: 67%; margin: 0 auto 2em auto;" border="0" cellpadding="3" cellspacing="0"> 2 <thead> 3 <tr> 4 <th>Target</th> 5 <th>Search text</th> 6 </tr> 7 </thead> 8 9 <tbody> 10 <tr id="filter_col1" data-column="0"> 11 <td>Column - Name</td> 12 <td align="center"><input class="column_filter" id="col0_filter" type="text"></td> 13 </tr> 14 <tr id="filter_col2" data-column="1"> 15 <td>Column - Position</td> 16 <td align="center"><input class="column_filter" id="col1_filter" type="text"></td> 17 </tr> 18 <tr id="filter_col3" data-column="2"> 19 <td>Column - Office</td> 20 <td align="center"><input class="column_filter" id="col2_filter" type="text"></td> 21 </tr> 22 </tbody> 23 </table> 24<table id="example" class="display" cellspacing="0" width="100%"> 25<thead> 26 <tr> 27 <th>Name</th> 28 <th>Position</th> 29 <th>Office</th> 30 <th>Age</th> 31 <th>Start date</th> 32 <th>Salary</th> 33 </tr> 34 </thead> 35<tbody> 36 <tr> 37 <td>Tiger Nixon</td> 38 <td>System Architect</td> 39 <td>Edinburgh</td> 40 <td>61</td> 41 <td>2011/04/25</td> 42 <td>$320,800</td> 43 </tr> 44~以下省略~
あなたの回答
tips
プレビュー