I have a grid using a customer filter that is appended to the thead. On a keydown event of the customer filter field, the focus is moved to first data field of the grid. How do I prevent the focus change?
Section of code in question;
Section of code in question;
var timeout;
var filter = { logic: "and", filters: [] };
var filterRow = $('<
tr
><
td
><
input
type
=
"search"
id
=
"programCodeFilter"
class
=
"k-textbox"
style
=
"width:75px;"
></
td
><
td
><
input
type
=
"search"
id
=
"lenderProgramNameFilter"
class
=
"k-textbox"
style
=
"width:75px;"
></
td
><
td
></
td
><
td
></
td
><
td
></
td
><
td
></
td
><
td
></
td
><
td
></
td
></
tr
>')
detailGrid.data("kendoGrid").thead.append(filterRow);
detailGrid.find("input#programCodeFilter").keydown(function () {
var filterExpr = { field: "ProgramCode", operator: "startswith", value: "" }
var fc = 0;
if (filter.filters.length > 0) {
for (var i = filter.filters.length - 1; i >= 0; i--) {
if (filter.filters[i].field == 'ProgramCode') {
var rmFilter = filter.filters[i];
rmFilter.value = this.value;
fc++;
}
}
if (fc == 0) {
filter.filters.push(filterExpr);
}
} else {
filterExpr.value = this.value;
filter.filters.push(filterExpr);
}
clearTimeout(timeout);
timeout = setTimeout(function () {
detailGrid.data("kendoGrid").dataSource.filter([filter]);
}, 100);
});