Jquery:
Is there please an option to start the search only alphabet and number keys have been typed in?
Datatable globally searching should initiate at least with 3 characters
JavaScript
x
10
10
1
$(document).on('draw.dt','.dataTable', function() {
2
$(".dataTables_filter input").off().on("input keyup", function(e) {
3
// if value length is greater than 3 or user press enter (keycode = 13) on search we will search on datatable
4
if(this.value.length >= 3 || e.keyCode == 13 || this.value == "") {
5
var dataTable = $('.table').DataTable();
6
dataTable.search(this.value).draw();
7
}
8
});
9
});
10
Advertisement
Answer
Solution:
Check this solution. I hope, it will work.
JavaScript
1
25
25
1
$(document).on('draw.dt','.dataTable', function() {
2
$(".dataTables_filter input").off().on("input keyup", function(e) {
3
// if value length is greater than 3 or user presses enter (keycode = 13) on search
4
// we will search on datatable
5
if(this.value.length >= 3 || e.keyCode == 13 || this.value == "") {
6
var checkBackspaceEnter = e.keyCode == 8 || e.keyCode == 13;
7
// if user removes a character from search we will search
8
var checkAlphabet = (e.keyCode >= 58 && e.keyCode <= 90);
9
// check on alphabets
10
var checkNum = (e.keyCode >= 48 && e.keyCode <= 57
11
|| e.keyCode >= 96 && e.keyCode <= 105);
12
// check on number values
13
var ctrlCombine = (e.keyCode == 17 || ((e.keyCode == 65 || e.keyCode == 67 )
14
&& e.ctrlKey));
15
// don't search when user hits Ctrl+A or Ctrl+C
16
checkAlphabet = ((ctrlCombine == false) ? checkAlphabet : false);
17
18
if (checkAlphabet || checkNum || checkBackspaceEnter) {
19
var dataTable = $('.table').DataTable();
20
dataTable.search(this.value).draw();
21
}
22
}
23
});
24
});
25