jQuery:关闭子对话窗口

时间:2013-03-19 10:27:37

标签: jquery dialog

我有一个jquery对话框窗口,其中包含一些选项卡,动态数据等。其中有一个按钮,它调用另一个对话框。该对话框有两个用于保存和关闭的按钮...如果我点击关闭,它确实应该这样做。但是,如果我单击“保存”,则会保存内容并关闭对话框,但父级对话框也会关闭,这是我不想要的。这通常如何解决?子对话代码在这里:

$('<div id="popis" style="display:none">').dialog({
        title: 'Popis rizika',
        height:300,
        buttons:{
                'Uložit': function(){
                    $("#popisRizika").submit();
                    $(this).remove();
                },


    'Zrušit': function(){
                $( this ).dialog( "close" );
            },                  
    },
    open: function(event, ui){
        $(this).load('rizika_popis.php?stupen='+<?echo $IdStStupen;?>+'&index='+i);
    },
    close: function(ev, ui){
            $(this).remove();
    },
});

1 个答案:

答案 0 :(得分:1)

这是因为当点击保存时你正在提交表单$("#popisRizika").submit(); ..这会使整页重新加载,从而导致关闭父对话框和孩子...你需要在这里发布一个通过$.ajax$.post或$ .get来形成...这不会重新加载页面,因此您可以在成功回调后手动关闭子对话框

类似这样的内容,使用 $。发布

 'Uložit': function(){
                $.post(url,$("#popisRizika").serialize(),function(result){
                   $( this ).dialog( "close" );
                })
            },