您應該只需要通過刪除非數字值將大值存在的字符串轉換爲數字。基於dataTables上的range filter example,我在這裏使用正則表達式對讀取的值進行了處理。我在fiddle中做了一些典型的測試數據,這些測試數據使用第5列作爲薪水,但是您應該可以相應地進行修改:
$(document).ready(function() {
var table = $('#example').DataTable();
// Event listener to the two range filtering inputs to redraw on input
$('#min, #max').keyup(function() {
table.draw();
});
});
$.fn.dataTable.ext.search.push(
function(settings, data, dataIndex) {
var min = parseInt($('#min').val(), 10);
var max = parseInt($('#max').val(), 10);
// MODIFY THE COLUMN FOR VALUE:
var value = parseFloat(data[5].replace(/\D/g,'')) || 0;
if ((isNaN(min) && isNaN(max)) ||
(isNaN(min) && value <= max) ||
(min <= value && isNaN(max)) ||
(min <= value && value <= max))
{
return true;
}
return false;
}
);