Before you overwrite dataTables.columnFilter.js, note that we have changed a few lines in this file. Running a diff between the original column filter plugin (dataTables.columnFilter_orig.js) and our modified one (dataTables.columnFilter.js): denise@denise-DX4860:~/airtime/airtime_mvc/public/js/datatables/plugin$ diff -u dataTables.columnFilter_orig.js dataTables.columnFilter.js --- dataTables.columnFilter_orig.js 2012-09-10 14:26:30.041095663 -0400 +++ dataTables.columnFilter.js 2012-09-10 17:04:21.017464447 -0400 @@ -103,7 +103,8 @@ label = label.replace(/(^\s*)|(\s*$)/g, ""); var currentFilter = oTable.fnSettings().aoPreSearchCols[i].sSearch; var search_init = 'search_init '; - var inputvalue = label; + //var inputvalue = label; + var inputvalue = ''; if (currentFilter != '' && currentFilter != '^') { if (bIsNumber && currentFilter.charAt(0) == '^') inputvalue = currentFilter.substr(1); //ignore trailing ^ @@ -133,29 +134,32 @@ }); } else { input.keyup(function () { - if (oTable.fnSettings().oFeatures.bServerSide && iFilterLength != 0) { - //If filter length is set in the server-side processing mode - //Check has the user entered at least iFilterLength new characters - - var currentFilter = oTable.fnSettings().aoPreSearchCols[index].sSearch; - var iLastFilterLength = $(this).data("dt-iLastFilterLength"); - if (typeof iLastFilterLength == "undefined") - iLastFilterLength = 0; - var iCurrentFilterLength = this.value.length; - if (Math.abs(iCurrentFilterLength - iLastFilterLength) < iFilterLength - //&& currentFilter.length == 0 //Why this? - ) { - //Cancel the filtering - return; - } - else { - //Remember the current filter length - $(this).data("dt-iLastFilterLength", iCurrentFilterLength); + var advSearchFields = $("div#advanced_search").children(':visible'); + if(validateAdvancedSearch(advSearchFields)){ + if (oTable.fnSettings().oFeatures.bServerSide && iFilterLength != 0) { + //If filter length is set in the server-side processing mode + //Check has the user entered at least iFilterLength new characters + + var currentFilter = oTable.fnSettings().aoPreSearchCols[index].sSearch; + var iLastFilterLength = $(this).data("dt-iLastFilterLength"); + if (typeof iLastFilterLength == "undefined") + iLastFilterLength = 0; + var iCurrentFilterLength = this.value.length; + if (Math.abs(iCurrentFilterLength - iLastFilterLength) < iFilterLength + //&& currentFilter.length == 0 //Why this? + ) { + //Cancel the filtering + return; + } + else { + //Remember the current filter length + $(this).data("dt-iLastFilterLength", iCurrentFilterLength); + } } + /* Filter on the column (the index) of this element */ + oTable.fnFilter(this.value, _fnColumnIndex(index), regex, smart); //Issue 37 + fnOnFiltered(); } - /* Filter on the column (the index) of this element */ - oTable.fnFilter(this.value, _fnColumnIndex(index), regex, smart); //Issue 37 - fnOnFiltered(); }); } @@ -168,7 +172,8 @@ input.blur(function () { if (this.value == "") { $(this).addClass("search_init"); - this.value = asInitVals[index]; + //this.value = asInitVals[index]; + this.value = ""; } }); } @@ -228,14 +233,16 @@ $('#' + sFromId + ',#' + sToId, th).keyup(function () { - - var iMin = document.getElementById(sFromId).value * 1; - var iMax = document.getElementById(sToId).value * 1; - if (iMin != 0 && iMax != 0 && iMin > iMax) - return; - - oTable.fnDraw(); - fnOnFiltered(); + var advSearchFields = $("div#advanced_search").children(':visible'); + if(validateAdvancedSearch(advSearchFields)){ + var iMin = document.getElementById(sFromId).value * 1; + var iMax = document.getElementById(sToId).value * 1; + if (iMin != 0 && iMax != 0 && iMin > iMax) + return; + + oTable.fnDraw(); + fnOnFiltered(); + } });