2014-05-07 67 views
0

当我将卡添加到收件箱中时。然后可以双击卡片,弹出对话框。在对话框中,我有拖动按钮(保存)和(取消)。当我按取消按钮确认窗口弹出窗口。关闭对话框时出现确认窗口的问题?

我想要当我按下关闭在右上角,确认窗口弹出窗口。我通过这部分代码试图修复它,但没有成功:

close: function() { 
       $('#dialog-confirm').dialog({ 
        resizable: false, 
        height: 300, 
        modal: true, 
        draggable: false, 
        buttons: { 
         YES: function() { 
          $(this).dialog("close"); 
          $('#modalDialog').dialog("close"); 
         }, 
         Cancel: function() { 
          $(this).dialog("close"); 
         } 
        } 
       }); 
      } 

的问题是,当我在做它以这种方式,对话窗口先关闭,然后确认窗口弹出。我不想那样,但我想要的是相反的。

JQuery的:

$(function() { 
    // Click function to add a card 
    var $div = $('<div />').addClass('sortable-div'); 
    $('<label>Title</label><br/>').appendTo($div);    
    $('<input/>', { "type": "text","class":"ctb"}).appendTo($div); 
    $('<input/>', { "type": "text","class":"date"}).appendTo($div); 
    var cnt =0,$currentTarget; 
    $('#AddCardBtn').click(function() { 
     var $newDiv = $div.clone(true); 
     cnt++; 
     $newDiv.prop("id","div"+cnt); 
     $('#userAddedCard').append($newDiv); 
//  alert($('#userAddedCard').find("div.sortable-div").length);   
    }); 

    // Double click to open Modal Dialog Window 
    $('#userAddedCard').dblclick(function (e) { 
     $currentTarget = $(e.target); 

     $('#modalDialog').dialog({ 
      modal: true, 
      height: 600, 
      width: 500, 
      position: 'center', 
      buttons: { 
       Save: function() { //submit 

        var val = $("#customTextBox").val(); 
        $currentTarget.find(".ctb").val(val); 
        $currentTarget.find(".date").val($("#datepicker").val()); 
        $('#modalDialog').dialog("close"); 

       }, 
       Cancel: function() { //cancel 

       $('#dialog-confirm').dialog({ 
       resizable: false, 
       height: 300, 
       modal: true, 
       draggable: false, 
       buttons: { 
        YES: function() { 
         $(this).dialog("close"); 
         $('#modalDialog').dialog("close"); 
        }, 
        Cancel: function() { 
         $(this).dialog("close"); 
        } 
       } 
      }); 

       } 

      }, 
      close: function() { 
       $('#dialog-confirm').dialog({ 
        resizable: false, 
        height: 300, 
        modal: true, 
        draggable: false, 
        buttons: { 
         YES: function() { 
          $(this).dialog("close"); 
          $('#modalDialog').dialog("close"); 
         }, 
         Cancel: function() { 
          $(this).dialog("close"); 
         } 
        } 
       }); 
      } 
     }); 

    }); 

    $("#datepicker").datepicker({showWeek:true, firstDay:1}); 


}); 

也许我错了,那样我做。任何想法如何解决它?

Live Demo

回答

1

您可以尝试使用beforeClose的确认窗口,如果确定,然后关闭对话框。

+0

嗯对不起,但我不明白你点? – AdiT

+0

我试图在[jsFiddle](http://jsfiddle.net/62QY8/129/)中做到这一点,虽然代码它不是很好,但它可以工作。我所做的只是将'close'改为'CloseCl'前面,''返回false'。如果点击YES按钮,试图跟踪数据中的状态。 –