level 1
xmwjfid
楼主
遇到一个很奇怪的问题如下:
我是用到异步加载的技术,根结点是 中国,我点击中国下面列出各个省份 在IE中省份是在中国的下级没错,但是在360浏览器中省份居然和中国同级了 ,截图如下。但是到了省份的下一级就不会出现这个问题了 很奇怪,下面我贴出代码,高手帮帮忙

图1:360浏览器下

图2:ie浏览器下
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@include file="/common/jsp/basePath.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>产品类别树</title>
<script type="text/javascript" src="<%=basePath%>js/jquery.js"></script>
<script type="text/javascript" src="<%=basePath%>js/ztree.js"></script>
<link rel="stylesheet" href="<%=basePath%>css/ztree/demoStyle/demo.css" type="text/css">
<link rel="stylesheet" href="<%=basePath%>css/ztree/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript">
var zTree;
function zTreeBeforeExpand(treeId, treeNode) {
if (!treeNode.isAjaxing) {
startTime = new Date();
ajaxGetNodes(treeNode, "refresh");
return false;
} else {
alert("地区数据 正在下载数据中,请稍后展开节点。。。");
return false;
}
return true;
}
function zTreeAjaxSuccess(event, treeId, treeNode, msg) {
if (!msg || msg.length == 0) {
return;
}
eval("var $app = "+msg+";");
var lr =$app.lr;//这边的lr是在后台的一个list**
var id,pId,name,node;
if(lr.length==0)
{
treeNode.icon = "";
zTree.updateNode(treeNode);
return false;
}
var treeNodes="[";
$.each($app.lr, function(i, add) {
id = add.regionId;
pId = add.parentId;
name= add.regionName;
node = "{'id':'"+id+"','pId':'"+pId+"','name':'"+name+"',isParent:true},";
treeNodes =treeNodes+node;
}
);
treeNodes =treeNodes.substr(0,treeNodes.length-1);
treeNodes = treeNodes+"]";
treeNodes = eval(treeNodes);
zTree.addNodes(treeNode, treeNodes);
treeNode.icon = "";
zTree.updateNode(treeNode);
zTree.selectNode(treeNode.nodes[0]);
}
function zTreeAjaxError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
alert("异步获取数据出现异常。");
treeNode.icon = "";
zTree.updateNode(treeNode);
}
function init()
{
var setting = {
expandSpeed: "",
async: true,
asyncUrl: getUrl,
callback: {
beforeExpand: zTreeBeforeExpand,
asyncSuccess: zTreeAjaxSuccess,
asyncError: zTreeAjaxError
}
};
var zTreeNodes = [
{ 'id':'1', 'pId':"0", 'name':'中国',isParent:true}
];
zTree = $("#tree").zTree(setting, zTreeNodes);
}
function getUrl(node)
{
var url="<%=basePath%>address/list.htm?id=";
url=url+node.id;
return url;
}
</script>
</head>
<body onload="init()">
<div id="tree" class="tree" >
</div>
<a id="onAsync"><br/></a>
</body>
2011年07月13日 05点07分
1
我是用到异步加载的技术,根结点是 中国,我点击中国下面列出各个省份 在IE中省份是在中国的下级没错,但是在360浏览器中省份居然和中国同级了 ,截图如下。但是到了省份的下一级就不会出现这个问题了 很奇怪,下面我贴出代码,高手帮帮忙

图1:360浏览器下
图2:ie浏览器下<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@include file="/common/jsp/basePath.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>产品类别树</title>
<script type="text/javascript" src="<%=basePath%>js/jquery.js"></script>
<script type="text/javascript" src="<%=basePath%>js/ztree.js"></script>
<link rel="stylesheet" href="<%=basePath%>css/ztree/demoStyle/demo.css" type="text/css">
<link rel="stylesheet" href="<%=basePath%>css/ztree/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript">
var zTree;
function zTreeBeforeExpand(treeId, treeNode) {
if (!treeNode.isAjaxing) {
startTime = new Date();
ajaxGetNodes(treeNode, "refresh");
return false;
} else {
alert("地区数据 正在下载数据中,请稍后展开节点。。。");
return false;
}
return true;
}
function zTreeAjaxSuccess(event, treeId, treeNode, msg) {
if (!msg || msg.length == 0) {
return;
}
eval("var $app = "+msg+";");
var lr =$app.lr;//这边的lr是在后台的一个list**
var id,pId,name,node;
if(lr.length==0)
{
treeNode.icon = "";
zTree.updateNode(treeNode);
return false;
}
var treeNodes="[";
$.each($app.lr, function(i, add) {
id = add.regionId;
pId = add.parentId;
name= add.regionName;
node = "{'id':'"+id+"','pId':'"+pId+"','name':'"+name+"',isParent:true},";
treeNodes =treeNodes+node;
}
);
treeNodes =treeNodes.substr(0,treeNodes.length-1);
treeNodes = treeNodes+"]";
treeNodes = eval(treeNodes);
zTree.addNodes(treeNode, treeNodes);
treeNode.icon = "";
zTree.updateNode(treeNode);
zTree.selectNode(treeNode.nodes[0]);
}
function zTreeAjaxError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
alert("异步获取数据出现异常。");
treeNode.icon = "";
zTree.updateNode(treeNode);
}
function init()
{
var setting = {
expandSpeed: "",
async: true,
asyncUrl: getUrl,
callback: {
beforeExpand: zTreeBeforeExpand,
asyncSuccess: zTreeAjaxSuccess,
asyncError: zTreeAjaxError
}
};
var zTreeNodes = [
{ 'id':'1', 'pId':"0", 'name':'中国',isParent:true}
];
zTree = $("#tree").zTree(setting, zTreeNodes);
}
function getUrl(node)
{
var url="<%=basePath%>address/list.htm?id=";
url=url+node.id;
return url;
}
</script>
</head>
<body onload="init()">
<div id="tree" class="tree" >
</div>
<a id="onAsync"><br/></a>
</body>