可重用的JQuery模态对话框?

时间:2009-05-24 19:04:55

标签: jquery jquery-ui

过去6个月我一直在使用jquery。

我有一个表单,我想要替换20个不同的javascript警报(“”);使用jQuery模态对话框的语句。

我不想为每条不同的消息创建单独的对话框div部分。

基础jquery-ui有没有办法创建一个可重用的模态对话框,我可以在其中传递消息标题和消息文本?

如果您有任何想法,请告诉我?

德里克

5 个答案:

答案 0 :(得分:7)

是的,您可以创建可重复使用的对话框,并且可以动态传递消息。

  1. 创建对话框类

    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");
    
       }
    
    }
    
  2. 在其中一个公共文件(jsp)中创建一个全局对象。

    OK_DIALOG = new OkDialog();
    
  3. 使用所需的消息调用此函数。

    OK_DIALOG.showMessage("You don't have more than a single penny.");
    
  4. 工作完成!!

答案 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,这不是诀窍吗?