#事象
datatablesでフィルター機能をヘッダーに追加してます。ただしソート機能を有効にしているため、フィルターのinputエリアに文字入力をするとソート機能のイベントも発生します。文字入力時のみソート機能を無効にしたいのですが、どのようにすればよいでしょうか?
現在のソースコードを以下に示します。
#html
<table class="task-list"> <thead> <tr> <th></th> <th></th> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td>テスト1</td> <td>テスト2</td> <td>テスト3</td> <td>テスト4</td> </tr> </tbody> </table>
#javascript
$('.task-list thead th').each( function () { $(this).html( '<input type="text"/>' ); } ); $('.task-list').DataTable({ // 件数切替機能 無効 lengthChange: false, // 情報表示 無効 info: false, // ページング機能 無効 paging: false, initComplete: function () { // Apply the search this.api().columns().every( function () { var that = this; $( 'input', this.header() ).on( 'keyup change clear', function () { if ( that.search() !== this.value ) { that.search( this.value ).draw(); } } ); } ); } });
あなたの回答
tips
プレビュー