У меня есть диалоговое окно jquery, в котором я загружаю два частичных изображения, простой мастер/деталь, когда я возвращаюсь к мастеру после сохранения детали, нажмите кнопку не ответ.
я отправляю код:
МАСТЕР
$('#dialogActivities').dialog({
autoOpen: false,
open: function (event, ui) {
var id = $(this).data('id');
var urlList = '@Url.Action("ActivityList", "Contacts")';
$(this).load(urlList, function ()
{
$(".k-grid-ActivityEdit").bind("click", function ()
{
var grid = $("#gridYear").data("kendoGrid");
var selectedData = grid.dataItem(grid.select());
if (selectedData)
{
var urlEdit = '@Url.Action("ActivityEdit", "Contacts")';
$('#dialogActivities').dialog().load(urlEdit);
}
});
});
}
});
ДЕТАЛЬ
$(document).on('submit', '#frmActivityEdit', function ()
{
$.ajax({
cache: false,
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result)
{
if (result.success)
{
var model = @Html.Raw(Json.Encode(Model));
var urlList = '@Url.Action("ActivityList", "Contacts")';
$('#dialogActivities').dialog().load(urlList);
}
}
});
return false;
});
Попробуйте заменить этот фрагмент кода:
$(".k-grid-ActivityEdit").bind("click", function ()
{
var grid = $("#gridYear").data("kendoGrid");
var selectedData = grid.dataItem(grid.select());
if (selectedData)
{
var urlEdit = '@Url.Action("ActivityEdit", "Contacts")';
$('#dialogActivities').dialog().load(urlEdit);
}
});
С этим:
$(document).on("click", ".k-grid-ActivityEdit", function ()
{
var grid = $("#gridYear").data("kendoGrid");
var selectedData = grid.dataItem(grid.select());
if (selectedData)
{
var urlEdit = '@Url.Action("ActivityEdit", "Contacts")';
$('#dialogActivities').dialog().load(urlEdit);
}
});
Разница в том, что использование функции для привязки также работает для динамически добавленных элементов. Он может решить вашу проблему.