2014-05-07 66 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按鈕,試圖跟蹤數據中的狀態。 –