2015-02-26 6 views
1

У меня есть сетка Kendo и задано событие сохранения строки как onAthleteGridSave. Я хочу добавить пользовательское окно, чтобы установить что-то похожее на поле подтверждения. Вот кодКак отменить preventdefault в событии сохранения в сетке Kendo

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»). Данные («kendoWindow»), программа не может перейти к действию контроллера для сетки, которая из-за e.preventDefault ().

Но при удалении e.preventDefault() программа не будет ждать после $ ("# AssignSport"). Data ("kendoWindow"). Open() и немедленно перейти к действию контроллера.

Так что я хочу знать, есть ли способ отменить e.preventDefault() или как заставить программу ждать, когда откроется окно kendo для информации о кнопке. Благодарю.

ответ

2

Вы не можете отменить его, но вы можете сохранить его вручную после внесения изменений в модель, вызвав saveChanges(). Итак, что-то вроде этого внутри вашего обработчика щелчков должно работать:

e.sender.saveChanges(); 
$("#AssignSport").data("kendoWindow").close(); 
+0

Нужно ли добавить что-то вроде «return true;»? – user585440

+0

Что значит «it» –

+0

Я имею в виду программу после $ («# AssignSport»). Data («kendoWindow»). Close(), нужно добавить «return true»; или какой-то код еще? – user585440