[英]How to prevent page changing in kendo grid
我正在尝试验证剑道网格列中的空输入。 我想先验证当前页面,然后才能将 go 转到其他页面。 我的问题是当我得到空输入时我无法阻止页面更改。
$(function () {
bindPaging();
});
function bindPaging() {
var grid = $('#paramsGrid').data('kendoGrid');
var pager = grid.pager;
pager.bind('change', onPageChange);
}
function onPageChange(e) {
var empty = $("#paramsGrid").find("input").filter(function () {
return this.value === "" || this.value === "null";
});
if (empty && empty.length) {
for (var i = 0; i < empty.length; i++) {
$("#" + empty[i].id).addClass("input-validation-error");
}
e.preventDefault();
}
}
“e.preventDefault”不起作用。
尝试编写e.preventDefault();
作为 function 的第一行。
function onPageChange(e) {
e.preventDefault(); // Pull this line as a first line of code in the function.
var empty = $("#paramsGrid").find("input").filter(function () {
return this.value === "" || this.value === "null";
});
if (empty && empty.length) {
for (var i = 0; i < empty.length; i++) {
$("#" + empty[i].id).addClass("input-validation-error");
}
}
}
或者你可以使用网格的页面事件
当用户要通过寻呼机 UI 更改 DataSource 的当前页面索引时触发。
事件处理程序 function 上下文(可通过 this 关键字获得)将设置为小部件实例。
function bindPaging() {
var grid = $('#paramsGrid').data('kendoGrid');
grid.bind('page', onPageChange);
}
最后我得到了解决方案。 该事件必须是“pageChange”而不是“change”。 所以这是正确的代码:
pager.bind('pageChange', onPageChange);
代替:
pager.bind('change', onPageChange);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.