在mvc应用程序中,在视图中,我构建了一个包含多个单元格的表,所有单元格都具有相同的css类,我向其添加一个弹出窗口的单击事件。所以单击一个单元格,打开一个模态弹出窗口。
打开pop-iup的代码
$('.EmployeeEvent').unbind('click').click(function () {
...
var oEditEventWindow = $("#WndEditEvent").data("kendoWindow");
oEditEventWindow.open().center();
oEditEventWindow.refresh({
url: "/EmployeeScheduler/EmployeeScheduler/GetEditEventViewModel",
data: {
...
}
});
oEditEventWindow.title(...);
});
然后,我可以取消,关闭窗口,或使用它输入一些数据并提交,并在应用程序/数据库中成功保存后,根据操作和刷新刷新特定单元格的内容弹出窗口关闭。
$("#btn-Cancel").click(function () {
$("#WndEditEvent").data("kendoWindow").close();
});
$("#btn-Add").click(function () {
ManageEvent(iSAVE);
});
$("#btn-Modify").click(function () {
ManageEvent(iSAVE);
});
问题是,如果我弹出窗口并取消,我实际上可以通过单击单元格重复弹出它并重复多次。如果我从弹出窗口提交(而不是取消),窗口关闭,重新点击该单元格就没有了(它不会重新弹出窗口!!!!)。我实际上必须点击其他地方,然后取消以便能够点击初始单元格。
function ManageEvent(iRequestType) {
...
$.ajax({
url: "/EmployeeScheduler/EmployeeScheduler/ManageEvent",
type: 'GET',
data: {
...
},
success: function (data) {
if (data == '-1') {
$('#GeneralError').show();
...
else {
// DO SOMETHING THEN CLOSE WINDOW
// Update the status panel (i.e. display and buttons)
$("#WndEditEvent").data("kendoWindow").close();
}
}
});
}
请帮助谢谢
答案 0 :(得分:0)
我认为你错过了document.ready中的绑定事件。请尝试以下代码段
$(document).ready(function(){
$('.EmployeeEvent').unbind('click').click(function (){
// some logic
});
});