jquery - 在 open 方法中更改 jQueryUI 对话框按钮文本

标签 jquery jquery-ui jquery-ui-dialog

打开 jQueryUI 对话框后,我想执行 GET 请求,并根据响应更改按钮文本。经过几个小时的努力,我终于得到了以下工作。这真的是最好的/唯一的吗?谢谢

$("#dialog").dialog({
    open        : function() {
        var dialog=$(this);
        $.get('ajax.php', function (data) {
            var buttons=dialog.dialog( "option", "buttons" );
            buttons[1].text=(data==1)?"CANCEL":"CLOSE";
            var buttons=dialog.dialog( "option", "buttons" ,buttons);
        });
    },
    buttons     : [
        {
            text    : 'SAVE',
            click    : function() {}
        },
        {
            text    : 'CANCEL',
            click    : function() {}
        }
    ]    
});

最佳答案

您可以像这样更改按钮文本...

下面给出的是没有ajax的

function setbutton(button1, button2) {
var btns = {};
btns[button1] = function() {
    //your function
   $( this ).dialog( "close" );
};
btns[button2] = function() {
    // Do nothing
    //your function
    $( this ).dialog( "close" );
};

document.getElementById('dialogshow').innerHTML = "<div>open with given button text</div>";


$( "#dialogshow" ).dialog({
    autoOpen: true,
    width: 450,
    height: 200,
    modal: true,
    position: 'center',
    modal: true,
    buttons: btns
});
}
$('.test').click(function() {
setbutton('start', 'End');//in here button name you want..
});

See the Live Demo

关于jquery - 在 open 方法中更改 jQueryUI 对话框按钮文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13626832/

相关文章:

php - 页面加载时的模态显示

javascript - jQuery 文件上传在 IE 8 和 9 中不起作用

jquery - 精细 uploader 3.4 和 setParams

jquery-ui - 为 jQuery UI slider 中的每个范围句柄设置最小/最大?

javascript - jQuery 对话框继续单击表单验证事件

css - 使用 iFrame 的 jQuery 模式对话框的滚动条问题

javascript - 如何使用 Laravel 4.1 为外部网页设置小部件

javascript - jquery 表单中的多个文本字段更新

jquery - 如何防止jquery(或jquery ui)在div上设置ui-state-disabled?

javascript - 关闭 Jquery 对话框之前不显示 JSF 验证错误