动态更改jQueryUI对话框按钮

css*_*hus 3 jquery jquery-ui

试图动态更改多个jQuery UI对话框()按钮.

下面代码的问题是在对话框的第一个实例中只显示一个按钮().应显示两个按钮.

jsFiddle这里:

$(function(){
    var dlg = $('#message');

    dlg.dialog({
        autoOpen:false,
        modal:true,
        width: 500,
        close: function() {
            if (seen==0 && ans > 0) {
                cnt++;
                seen++;
                dlg.html('Here is a second message');
                dlg.dialog(
                    'option',
                    'buttons',
                        [{
                            text: 'OK',
                            click: function() {
                                $(this).dialog('close');
                            }
                        }]
                );
                dlg.dialog('open');
            }
        }
    });

    $('#myDiv').hover(
        function() {
            //Hover-in
            if (cnt < 1 || (cnt > 2 && cnt < 4) || (cnt > 5 && cnt < 7)) {

                var msg = 'First display text goes here';
                dlg.html(msg);
                dlg.dialog(
                    'option',
                    'buttons',
                        [{
                            text: 'Download',
                            click: function() {
                                ans++;
                                $(this).dialog('close');
                            },
                            text: 'Not now',
                            click: function() {
                                $(this).dialog('close');
                            }
                        }]
                );
                dlg.dialog('open');
            }
            cnt++;
        },
        function() {
            //Hover-out
            //need this to prevent duplicating hover-in code (double-display dlg)
        }
    );

}); //END document.ready
Run Code Online (Sandbox Code Playgroud)

Jér*_*ôme 15

我试图使用该Object类型buttons,它的工作原理:

dlg.dialog(
    'option',
    'buttons', {
        "Download": function () {...},
        "Not now": function () {...}
    }
);
Run Code Online (Sandbox Code Playgroud)

查看更新的jsFiddle

对象:键是按钮标签,值是单击关联按钮时的回调.

编辑:但是你的数组中有一个错误,你必须有一个对象数组,并且缺少{}.

'buttons', [
    {
        text: "Download",
        click: function () {...}
    },
    {
        text: "Not now",
        click: function () {...}
    }
]
Run Code Online (Sandbox Code Playgroud)

看到你的jsFiddle的更正