この議論に基づいて、以下のコードを JS コードに追加して、keyup または delay の代わりにエンター キーを押すことでフィルタリングをトリガーできるようにしました。
jQuery.fn.dataTableExt.oApi.fnSetFilteringPressEnter = function (oSettings) {
var _that = this;
this.each(function (i) {
$.fn.dataTableExt.iApiIndex = i;
var $this = this;
var anControl = $('input', _that.fnSettings().aanFeatures.f);
anControl.unbind('keyup').bind('keypress', function (e) {
if (e.which == 13) {
$.fn.dataTableExt.iApiIndex = i;
_that.fnFilter(anControl.val());
}
});
return this;
});
return this;
}
/* Example call */
$(document).ready(function() {
$('.dataTable').dataTable().fnSetFilteringPressEnter();
} );
今私がやりたいことは、ユーザーが検索バーからキーワードを削除したときに、テーブルを再描画したいということです。現在、Enter ボタンを押さないと再描画されません。どうすればこの結果を達成できますか?