过去6个月我一直在使用jquery。
我有一个表单,我想要替换20个不同的javascript警报(“”);使用jQuery模态对话框的语句。
我不想为每条不同的消息创建单独的对话框div部分。
基础jquery-ui有没有办法创建一个可重用的模态对话框,我可以在其中传递消息标题和消息文本?
如果您有任何想法,请告诉我?
德里克
答案 0 :(得分:7)
是的,您可以创建可重复使用的对话框,并且可以动态传递消息。
创建对话框类
function OkDialog() {
this.showMessage = function(message) {
var $dialog = $('<div></div>')
.html(message)
.dialog({
modal: true,
closeOnEscape: true,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
});
$dialog.dialog("open");
}
}
在其中一个公共文件(jsp)中创建一个全局对象。
OK_DIALOG = new OkDialog();
使用所需的消息调用此函数。
OK_DIALOG.showMessage("You don't have more than a single penny.");
工作完成!!
答案 1 :(得分:3)
你可以找到很多jQuery for dialog boxs的插件。
我过去曾使用facebox plugin。
基本用法可以简单如下:
jQuery.facebox('something cool')
答案 2 :(得分:2)
我强烈推荐Impromptu。它有很好的文档记录,有很好的例子,基本上是javascript Alert和Input的直接替代品,但是它非常可扩展,并且有很多选项和额外的功能。
答案 3 :(得分:1)
我会推荐jQuery的Growl插件。 http://plugins.jquery.com/project/Growl
使用Growl的好处在于它具有一些非常好的内置功能,特别是具有自动删除功能的可选功能。
这是非模态模式。
我的意思是,它不需要用户在返回与网站交互之前与之交互,从而维护网站的工作流程。
答案 4 :(得分:1)
我过去常常使用Facebox,但我正在逐步淘汰对话框,这是jQuery UI系列的一部分:
http://docs.jquery.com/UI/Dialog
你提到核心jquery-ui,这不是诀窍吗?