如何在 Kendo 网格中撤消保存事件中的 preventdefault
How to undo preventdefault in save event in Kendo Grid
我有一个 Kendo 网格并将行保存事件设置为 onAthleteGridSave。我想添加一个自定义 window 来设置类似于确认框的内容。这是代码
function onAthleteGridSave(e)
{
e.preventDefault();
$("#AssignSport").data("kendoWindow").open();
$("#AssignSport").find(".assignsportandsave,.notassignsportandsave")
.click(function () {
if ($(this).hasClass("assignsportandsave")) {
e.model.AssignSportId = $('#AssignEventId').data('kendoDropDownList').value();
}
else if ($(this).hasClass("notassignsportandsave")) {
e.model.AssignSportId = "";
}
$("#AssignSport").data("kendoWindow").close();
})
}
<% Html.Kendo().Window()
.Name("AssignSport")
.Content(() =>
{ %>
...
<input type="submit" class="assignsportandsave" value="Assign Sport And Save" />
<input type="submit" class="notassignsportandsave" value="Not Assign Sport And Save" />
<input type="submit" value="Cancel" onclick="$('#AssignSport').data('kendoWindow').close();" />
...
<%})
问题是在单击 $("#AssignSport").data("kendoWindow") 中的按钮后,程序无法进入 Grid 的控制器操作,这是由于 e.preventDefault() .
但如果删除 e.preventDefault(),则程序不会在 $("#AssignSport").data("kendoWindow").open() 之后等待并立即转到控制器操作。
所以我想知道是否有办法撤消 e.preventDefault() 或如何让程序在 kendo window 打开按钮信息的地方等待。谢谢。
您无法撤消它,但您可以在通过调用 saveChanges() 对模型进行更改后手动保存。所以你的点击处理程序中的类似这样的东西应该可以工作:
e.sender.saveChanges();
$("#AssignSport").data("kendoWindow").close();
我有一个 Kendo 网格并将行保存事件设置为 onAthleteGridSave。我想添加一个自定义 window 来设置类似于确认框的内容。这是代码
function onAthleteGridSave(e)
{
e.preventDefault();
$("#AssignSport").data("kendoWindow").open();
$("#AssignSport").find(".assignsportandsave,.notassignsportandsave")
.click(function () {
if ($(this).hasClass("assignsportandsave")) {
e.model.AssignSportId = $('#AssignEventId').data('kendoDropDownList').value();
}
else if ($(this).hasClass("notassignsportandsave")) {
e.model.AssignSportId = "";
}
$("#AssignSport").data("kendoWindow").close();
})
}
<% Html.Kendo().Window()
.Name("AssignSport")
.Content(() =>
{ %>
...
<input type="submit" class="assignsportandsave" value="Assign Sport And Save" />
<input type="submit" class="notassignsportandsave" value="Not Assign Sport And Save" />
<input type="submit" value="Cancel" onclick="$('#AssignSport').data('kendoWindow').close();" />
...
<%})
问题是在单击 $("#AssignSport").data("kendoWindow") 中的按钮后,程序无法进入 Grid 的控制器操作,这是由于 e.preventDefault() .
但如果删除 e.preventDefault(),则程序不会在 $("#AssignSport").data("kendoWindow").open() 之后等待并立即转到控制器操作。
所以我想知道是否有办法撤消 e.preventDefault() 或如何让程序在 kendo window 打开按钮信息的地方等待。谢谢。
您无法撤消它,但您可以在通过调用 saveChanges() 对模型进行更改后手动保存。所以你的点击处理程序中的类似这样的东西应该可以工作:
e.sender.saveChanges();
$("#AssignSport").data("kendoWindow").close();