首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery UI警报对话框替代警报()

jQuery UI警报对话框替代警报()
EN

Stack Overflow用户
提问于 2011-11-10 20:42:06
回答 9查看 106.5K关注 0票数 28

我使用alert()将我的验证错误输出回给用户,因为我的设计没有提供任何其他东西,但我更愿意使用jQuery UI对话框作为我的消息的警告对话框。

因为错误不包含在(html) div中,所以我不确定该怎么做。通常,您会将dialog()分配给一个div,比如$("#divName").dialog(),但我更需要一个js函数,比如alert_dialog("Custom message here")或类似的函数。

有什么想法吗?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-11-10 20:46:18

我认为您甚至不需要将其附加到DOM,这似乎对我有效:

代码语言:javascript
复制
$("<div>Test message</div>").dialog();

这是一个JS小提琴:

http://jsfiddle.net/TpTNL/98

票数 52
EN

Stack Overflow用户

发布于 2012-10-28 17:15:19

使用这里的一些信息,我最终创建了自己的函数来使用。

可以用作..。

代码语言:javascript
复制
custom_alert();
custom_alert( 'Display Message' );
custom_alert( 'Display Message', 'Set Title' );

jQuery UI警报替换

代码语言:javascript
复制
function custom_alert( message, title ) {
    if ( !title )
        title = 'Alert';

    if ( !message )
        message = 'No Message to Display.';

    $('<div></div>').html( message ).dialog({
        title: title,
        resizable: false,
        modal: true,
        buttons: {
            'Ok': function()  {
                $( this ).dialog( 'close' );
            }
        }
    });
}
票数 29
EN

Stack Overflow用户

发布于 2015-11-06 10:20:04

基于eidylon的答案,这里有一个版本,如果TitleMsg为空,则不会显示标题栏:

代码语言:javascript
复制
function jqAlert(outputMsg, titleMsg, onCloseCallback) {
    if (!outputMsg) return;

    var div=$('<div></div>');
    div.html(outputMsg).dialog({
        title: titleMsg,
        resizable: false,
        modal: true,
        buttons: {
            "OK": function () {
                $(this).dialog("close");
            }
        },
        close: onCloseCallback
    });
    if (!titleMsg) div.siblings('.ui-dialog-titlebar').hide();
}

请参阅jsfiddle

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8079674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档