cshtml,jquery,点击父单元格什么都不做,除非我点击其他地方第一个

时间:2014-09-22 07:57:42

标签: jquery asp.net-mvc razor

在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();

        }
    }
  });
}

请帮助谢谢

1 个答案:

答案 0 :(得分:0)

我认为你错过了document.ready中的绑定事件。请尝试以下代码段

$(document).ready(function(){
            $('.EmployeeEvent').unbind('click').click(function (){
                 // some logic
            });
});