欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JqueryEasyUI中combotree应用

程序员文章站 2022-06-08 23:46:14
...

      JqueryEasyUI是一个不错的UI设计库,包含了很多。其中有用到combotree,这是对html标签中select的更好,是一个下拉树,显示效果比较好,看起来层次清晰,并且不是很难。图片效果如下:

 [imgr]1[/imgr][imgr]2[/imgr]

查看JqueryEasyUI里的demo得到要到达这个效果其实只是一句话可以搞定,<input name="formMap.supperMenuId" class="easyui-combotree"  value="<s:property value='menu.menu.id'/>"  id="superId" cascadeCheck="false"  required="true" missingMessage="上级菜单不能为空!" style="width:252px" />但是前提是引入了jqueryEasyUI所必须的JS文件而后CSS文件再加上这一句

$('#superId').combotree('reload',"<%=path%>/sys_privilegeAjax/menuAction_findMenuTree.action?menu.menuType="+$(":radio:checked").val());

我这里是有5种类型的菜单,并且菜单是用树形结构展现,所以这里用这个combotree是最好不过了,下面贴出代码片段

<script language="javascript">
			$(document).ready(function(){
				initData();						});
		function initData(){
			<s:if test="null eq menu">
				$("#t1").attr("checked",true);
			</s:if>
			<s:if test="menu.menuType==1">
				$("#t1").attr("checked",true);
			</s:if>
			<s:if test="menu.menuType==2">
				$("#t2").attr("checked",true);
			</s:if>
			<s:if test="menu.menuType==3">
				$("#t3").attr("checked",true);
			</s:if>
			<s:if test="menu.menuType==4">
				$("#t4").attr("checked",true);
			</s:if>
			<s:if test="menu.menuType==5">
				$("#t5").attr("checked",true);
			</s:if>
			//var url ="<%=path%>/sys_privilegeAjax/menuAction_findMenuTree.action?menu.menuType="+$(":radio:checked").val();
			//var data =null;
			//var resultMess= ajaxSubmit(url,data);
			//var treeStr = eval(resultMess);
			//$('#superId').combotree('loadData',treeStr);
			$('#superId').combotree('reload',"<%=path%>/sys_privilegeAjax/menuAction_findMenuTree.action?menu.menuType="+$(":radio:checked").val());
			
		}

var getMenuTree=function(i){
		$('#superId').combotree('clear');
		$('#superId').combotree('loadData','');
		$('#superId').combotree('reload',"<%=path%>/sys_privilegeAjax/menuAction_findMenuTree.action?menu.menuType="+i);
	}

。
。
。
。
<tr>
									<td width="20%" align="right" class="tdbg">
										<b>菜单类型:</b>
									</td>
									<td>
										<input type="radio" id="t1" name="menu.menuType" value="1" onclick="getMenuTree(1);"/>
										超级管理员
										<input type="radio" id="t2" name="menu.menuType" value="2" onclick="getMenuTree(2);"/>
										省属管理员
										<input type="radio" id="t3" name="menu.menuType" value="3" onclick="getMenuTree(3);" />
										市属管理员
										<input type="radio" id="t4" name="menu.menuType" value="4" onclick="getMenuTree(4);"/>
										区/县属管理员
										<input type="radio" id="t5" name="menu.menuType" value="5" onclick="getMenuTree(5);"/>
										校属管理员
									</td>
								</tr>
								<tr>
									<td align="right" class="tdbg">
										<b>上级菜单:</b>
									</td>
									<td align="left">
										<input name="formMap.supperMenuId" class="easyui-combotree"  value="<s:property value='menu.menu.id'/>"  id="superId" cascadeCheck="false"  required="true" missingMessage="上级菜单不能为空!" style="width:252px" />
									</td>
								</tr>

 

我们再看看demo里<input id="cc" class="easyui-combotree" url="tree_data.json" value="2" required="true" style="width:200px;">

其中tree_data.json的内容如下:

[{
	"id":1,
	"text":"Folder1",
	"iconCls":"icon-ok",
	"children":[{
		"id":2,
		"text":"File1",
		"checked":true
	},{
		"id":3,
		"text":"Folder2",
		"state":"open",
		"children":[{
			"id":4,
			"text":"File3",
			"attributes":{
				"p1":"value1",
				"p2":"value2"
			},
			"checked":true,
			"iconCls":"icon-reload"
		},{
			"id": 8,
			"text":"Async Folder",
			"state":"closed"
		}]
	}]
},{
	"text":"Languages",
	"state":"closed",
	"children":[{
		"id":"j1",
		"text":"Java"
	},{
		"id":"j2",
		"text":"C#"
	}]
}]

 

一看便知道是JSON对象,这个在前面一个有关JSON的篇章中有讲到,在后台照着生成就ok了