1

我很难找到一种让 jquery ui 模态对话框工作的方法。模态对话框只返回 false ......

一个小提琴你可以在这里看到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

1 回答 1

4

您在另一个函数 ( $( "#dialog-confirm" ).dialog) 中的一个函数 ( $(function()) 中有一个函数 ( function modal_delete_pics())。

而且,最内层函数 ( $( "#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/

于 2012-04-30T00:03:48.820 回答