jQuery dialog 的autoClose

来源:互联网 发布:厌胜术 知乎 编辑:程序博客网 时间:2024/06/05 14:15

   使用Struts2+jQuery Plugin非常的顺利的完成了很多UI的工作,但总不能尽善尽美。

   例如在dialog上就没有autoClose一方法,下面是自己设计的一种,其实就是利用topics。

   关于Grid tag的详细信息看这里:http://code.google.com/p/struts2-jquery/wiki/GridTag

   其基本原理如下图:

    

 JSP中的内容如下

tag 

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%><%@ taglib prefix="sj" uri="/struts-jquery-tags"%>

检测前面的返回参数:

result = "<%=request.getParameter("result")%>";function openAddLaborResultDialog(){   if(result=="success"){ jQuery.publish('successAddLabor') }}

关闭出来的dialog:

$.subscribe('toCloseAddLaborResultDialog', function(event,data) {$("#AddLaborAResultDialog").delay(5000).publish('closeAddLaborResultDialog'); });

页面加载时运行js:

<body onLoad="openAddLaborResultDialog()">

dialog本身:

<sj:dialog id="AddLaborAResultDialog" autoOpen="false"openTopics="successAddLabor" title="Maxdrive消息" height="30"onOpenTopics="toCloseAddLaborResultDialog" showEffect="fade"hideEffect="fade" closeTopics="closeAddLaborResultDialog"><font color='blue' size=2> <strong> 添  加  成 功  !</strong> </font></sj:dialog>