2012-04-29 66 views
1

我有很多的麻煩找辦法讓jQuery用戶界面模式對話框work..the模式對話框剛剛返回false ...jQuery UI的模態對話框不工作

小提琴OU可以在這裏看到http://jsfiddle.net/fVrFj/6/

function modal_delete_pics(){ 
      $(function(){ 
       $("#dialog:ui-dialog").dialog("destroy"); 

       $("#dialog-confirm").dialog({ 
       resizable: false, 
       height:140, 
       modal: true, 
       buttons: { 
        "delete": function() { 
         $(this).dialog("close"); 

            return true; 
       }, 
        "cancel": function() { 
         $(this).dialog("close"); 
         return false; 

       } 
      } 

     }); 
    }); 
}; 
    $('#clickme').click(function(){ 
     if(modal_delete_pics()==true){ 
      $('body').append('<div>deleted</div>'); 
      } 
      else{     
      $('body').append('<div>canceled</div>'); 
       } 
}); 

非常感謝!

回答

4

在另一個函數(function modal_delete_pics())中的函數($(function())中有一個函數($("#dialog-confirm").dialog)。

而且,來自最內層函數($("#dialog-confirm").dialog)的返回值不會冒泡。

你可以嘗試一個更簡單的方法:

$("#dialog-confirm").dialog({ 
     resizable: false, 
     height: 140, 
     modal: true, 
     autoOpen: false,  
     buttons: { 
      "delete": function() { 
       //put your image delete code here 
       $('body').append('<div>deleted</div>'); 
       $(this).dialog("close"); 
      }, 
      "cancel": function() { 
       $('body').append('<div>canceled</div>'); 
       $(this).dialog("close"); 
      } 
     } 
}); 

$('#clickme').click(function() { 
    $("#dialog-confirm").dialog("open"); 
});​ 

小提琴:http://jsfiddle.net/fVrFj/10/

+0

偉大的感謝名單了很多! – themis 2012-08-19 08:11:06