jQuery Dialog动态添加按钮

时间:2012-03-08 07:55:07

标签: jquery dialog

我有以下问题。我正在尝试使用iframe在模态对话框中添加动态按钮。 我有带标准按钮的Iframe对话框(如关闭,确定..)。新内容之后 由iframe url scr属性加载,我需要动态添加新按钮,例如“register”。 我的代码:

var iDlg= $('<iframe src=price.php?code="'+uCode+'" frameborder="0" />').dialog({
                modal: true,
                dialogClass: 'priceBox',
                title: 'Detail',        
                height: 400,
                width: 500,
                draggable: false,
                resizable: false,
                //show: "fade",
                buttons: {
                "close": function() {
                    $( this ).dialog( "close" );
                }
            }       
            }).width(480);

price of price.php:

<script type="text/javascript">
    $(document).ready(function(){
        var opt = {
            buttons: {
                'New button...': function () {
                    $(this).dialog('close');
                }
            }
        };
        $(iDlg).dialog('option', opt);


    });
    </script>

但是,这个解决方案不起作用。请帮忙。感谢。

2 个答案:

答案 0 :(得分:3)

你必须告诉它你传入了什么选项。在这种情况下,你传递的是“按钮”选项的值:

$(document).ready(function(){
   var btns = {
       'New button...': function () {
            $(this).dialog('close');
        }
    };
    iDlg.dialog('option', 'buttons', btns);
});

答案 1 :(得分:0)

在price.php中,您是否尝试过将opt传递给父级中的函数,即parent.addButton(opt);

然后在父框架中你有

function addButton(opt)
{
    $(iDlg).dialog('option', opt);
}

当然,iDlg需要在父级中具有正确的范围(全局)。