jsp页面A中弹出窗体窗体中嵌套页面B,弹出方式如下:$('#depAndMod_Win').dialog({   
    title: '选中发送部门模块',   
    width: 300,   
    height: 350,   
    closed: false,   
    cache: false,   
    href: 'B.jsp',   
    modal: true
});
B中初始化页面的时候 加载异步树 代码如下:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/common/tagLibs.jsp" %> 
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="${context}/css/css.css" rel="stylesheet" type="text/css" />
<link href="${context}/css/style.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="${context}/js/dateWin/WdatePicker.js"></script>
<script type="text/javascript" src="${context}/js/jquery-1.7.2.min.js"></script>
<title>贵州机场集团值班日志平台</title>
</head>
<body>
<script type="text/javascript">
$(function(){
//alert('laise'); 取消这一行注释 问题解决  非常郁闷 
try{
$('#tt').tree({ 
    url:'department/DepartmentAction!queryUnitTreeNode.sr',
    checkbox:true,
    loadFilter: function(data){
     if(data.rows){
     return data.rows;
     }else{
     return data;
     }
    }
});
}catch(e){}
});
</script>
<ul id="tt"></ul>
<form method="post" id="sendLogsForm" name="sendLogsForm">
<table width="100%" border="0" cellpadding="0" cellspacing="0" align="center">
  <tr><td><ul id="tt"></ul></td></tr>
  <tr>
    <td align="center"><input type="button" value="确定" onclick="sendLogs()"/></td>
  </tr>
</table>
</form>
</body>
</html>
说下我发现可能的原因:我的javascript是放在body中的(可能是由于用jquery dialog弹出窗体的原因,将javascript放到head中尽然神奇的不能执行),故而执行了两次加载树的代码,第一次是加载javascript代码,第二次是执行javascript,加载的时候过快导致还没有从后台取得数据故而报错,用alert('fdsaf')可以将代码执行暂时中断,使有时间从后台取得数据加载到树中。不知道我这样叙述大家听得懂不?不明白的话 我在解释,还望看到的朋友帮忙说下解决方案。分我有很多,只要能解决问题,都有分。谢谢!!!

解决方案 »

  1.   

    <script type="text/javascript" src="${context}/js/jquery-1.7.2.min.js"></script>这个去掉,jquery会重新加载导致覆盖了原来页面的jquery easyui扩展
      

  2.   


    谢谢版主,但视乎还是报错,如题所说:关键性的一句话就是alert(''); 打印一下整个执行就不抱错了。
      

  3.   

    什么版本的easyui?我这里1.3.4按照你的模式加载没问题
      

  4.   

    我版本是:
    jQuery EasyUI 1.2.6
      

  5.   

    这个版本的dialog有问题吧。。配置了href,都会加载2次href指定的url,导致b中的tree也请求了2次配置的url,导致第一次请求的DOM被第二次请求b清空了,此时引用到dom就出错了加载b页面加载了2次,1.3.4的只加载一次b页面