没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
7页
对于jquery-easyui的combotree 异步树,使用上其实并不会太复杂,但是要搞明白还是比较麻烦的,本代码基本上把异步树的生成和使用都做了示例,基本上直接拿来用即可。同时大幅增加和修正了上一个上传的同类文件中的不正确的地方。请以此为准!!(其中对于后台返回的子节点jason字符串,通过设置其中的state:closed属性,则可让combotree自动变成异步树。)
资源推荐
资源详情
资源评论
/*--================================================================================--
* SSH中使用jquery easyui中的ComboTree生成异步树的操作
* 原理是ComboTree本来就支持异步树的处理(通过设置节点的STATE:CLOSED属性,树就自动变成了异步树),
* 而点击节点会触发点击事件,ComboTree会自动往后台传送当前节点的ID值,
* 因此,后台ACTION通过pRequest.getParameter("id")获取父节点ID后,提供符合jason格式的字符串返回,
* [{id:GUANGDONG,TEXT:广东,STATE:CLOSED},{id:BEIJING,TEXT:北京}]
* 然后前台JSP中初始化ComboTree时候进行一些处理,就可以简单建立异步树下拉列表框了
--================================================================================--*/
//1)在JSP页面中创建ComboTree
//1.1 创建简单的<input>即可,可以设置value值为下拉框文本初始显示值TEXT对应的ID值,如actionform.combotree1_val = "GUANGDONG";
<input id="combotree1" name="combotree1" value="${actionform.combotree1_val}" style="width: 200px;">
//1.2 在<head>中初始化ComboTree
<head>
<script type="text/javascript">
$(function() {
//ComboTree控件初始化
$('#combotree1').combotree({
url: '<html:rewrite action="/myAction.do?optype=getchildtree"/>',
'onLoadSuccess': function(node,data){
//在panel控件load完成的时候处理当前显示值,如果不处理,则combotree1的显示值有可能会不正确
if(data.length>0){
var val = "${actionform.combotree1_val}"; //jsp页面初始化时combotree1的初始id值
var txt = $('#combotree1').combotree('getText'); //combotree1当前的显示text值
//当首次进入这个jsp页面,在combotree1还没有执行url获取jason树数据时,
//由于控件的处理机制,其内部的panel控件已经在进行初始化了,不过此时参数node=null,data=null
* SSH中使用jquery easyui中的ComboTree生成异步树的操作
* 原理是ComboTree本来就支持异步树的处理(通过设置节点的STATE:CLOSED属性,树就自动变成了异步树),
* 而点击节点会触发点击事件,ComboTree会自动往后台传送当前节点的ID值,
* 因此,后台ACTION通过pRequest.getParameter("id")获取父节点ID后,提供符合jason格式的字符串返回,
* [{id:GUANGDONG,TEXT:广东,STATE:CLOSED},{id:BEIJING,TEXT:北京}]
* 然后前台JSP中初始化ComboTree时候进行一些处理,就可以简单建立异步树下拉列表框了
--================================================================================--*/
//1)在JSP页面中创建ComboTree
//1.1 创建简单的<input>即可,可以设置value值为下拉框文本初始显示值TEXT对应的ID值,如actionform.combotree1_val = "GUANGDONG";
<input id="combotree1" name="combotree1" value="${actionform.combotree1_val}" style="width: 200px;">
//1.2 在<head>中初始化ComboTree
<head>
<script type="text/javascript">
$(function() {
//ComboTree控件初始化
$('#combotree1').combotree({
url: '<html:rewrite action="/myAction.do?optype=getchildtree"/>',
'onLoadSuccess': function(node,data){
//在panel控件load完成的时候处理当前显示值,如果不处理,则combotree1的显示值有可能会不正确
if(data.length>0){
var val = "${actionform.combotree1_val}"; //jsp页面初始化时combotree1的初始id值
var txt = $('#combotree1').combotree('getText'); //combotree1当前的显示text值
//当首次进入这个jsp页面,在combotree1还没有执行url获取jason树数据时,
//由于控件的处理机制,其内部的panel控件已经在进行初始化了,不过此时参数node=null,data=null
//而在第一次执行url获取了jason树数据之后,因为combotree1尚未设置node,因此此时node=null,但是data != null
//而初始化之后,在下拉列表onchange时,此时node!=null,而且data != null
//因此可以通过此种变化规则获取id=val时对应的text显示值
//(此处的说明比较绕口,你可以先尝试去掉这个'onLoadSuccess'事件,
//然后测试一下当前显示值在jsp页面初始化、点击父节点打开子节点列表、findforward返回时的变化情况就知道了^_^)
if(val != "" && val==txt){
//combotree1只有在data中找到id=val对应的node节点,显示值才会变为node的text属性值,否则只显示为id=val值
//此时data中不包含id=val对应的node节点,因此需要单独通过ajax获取id=val时的text值
var urlstr = "<c:url value='/myAction.do' />" +"?optype=gettext&id="+val;
$.get(urlstr,
function(gettxt){
if(gettxt!="")
$('#combotree1').combotree('setText',gettxt);
}
);
}
}
},
'onChange': function(n,o){
//变更当前节点,触发变更事件处理
dochange();
}
});
});
</script>
</head>
//而初始化之后,在下拉列表onchange时,此时node!=null,而且data != null
//因此可以通过此种变化规则获取id=val时对应的text显示值
//(此处的说明比较绕口,你可以先尝试去掉这个'onLoadSuccess'事件,
//然后测试一下当前显示值在jsp页面初始化、点击父节点打开子节点列表、findforward返回时的变化情况就知道了^_^)
if(val != "" && val==txt){
//combotree1只有在data中找到id=val对应的node节点,显示值才会变为node的text属性值,否则只显示为id=val值
//此时data中不包含id=val对应的node节点,因此需要单独通过ajax获取id=val时的text值
var urlstr = "<c:url value='/myAction.do' />" +"?optype=gettext&id="+val;
$.get(urlstr,
function(gettxt){
if(gettxt!="")
$('#combotree1').combotree('setText',gettxt);
}
);
}
}
},
'onChange': function(n,o){
//变更当前节点,触发变更事件处理
dochange();
}
});
});
</script>
</head>
剩余6页未读,继续阅读
资源评论
spoky
- 粉丝: 5
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功