现在的问题是在数据库中读取到有没有checked权限倒是正确地显示,但是已经勾选的数据并没有传到后台,记得有一次传输到了,但是有些误差,后面再调就不出来了,第一次用,求教。JS代码
Ext.require([//加载指定组件
'Ext.tree.*',
'Ext.data.*',
'Ext.window.MessageBox'
]);
Ext.onReady(function() {//在页面加载完毕后执行,若有多个依次执行
var store = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: 'check-nodes.json'
},
sorters: [{
property: 'leaf',
direction: 'ASC'
}, {
property: 'text',
direction: 'ASC'
}]
});
var tree = Ext.create('Ext.tree.TreePanel', {
store: store,
rootVisible: false,
useArrows: true,
frame: true,
title: 'Check Tree',
renderTo: 'tree-div',
width: 300,
height: 350,
dockedItems: [{
xtype: 'toolbar',
items: {
text: 'Get checked nodes',
handler: function(){
var records = tree.getView().getChecked(),
names = [];
Ext.Array.each(records, function(rec){
names.push(rec.get('text'));
});
Ext.MessageBox.show({//采用config配置的形式自定义对话框 异步机制
title: 'Selected Nodes',
msg: names.join('<br />'),
icon: Ext.MessageBox.INFO
});
}
}
}]
});
});
JSP页面代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
href="extjs/resources/css/ext-all.css" />
function checkRoleModify(){ with(document.forms[0]){ if(isBlank(roleName.value)){ alert('角色名称必须填写!'); return false; } var records = treePanel.getView().getChecked(); menuIdArray = []; Ext.Array.each(records, function(rec){ menuIdArray.push(rec.get('id')); }); menuIds.value = menuIdArray.join(','); } document.getElementById('submit').click(); return true; } Ext.override(Ext.form.Checkbox, { setBoxLabel: function(boxLabel){ this.boxLabel = boxLabel; if(this.rendered){ this.wrap.child('.x-form-cb-label').update(boxLabel); } } }); var treePanel; Ext.require([ 'Ext.tree.*', 'Ext.data.*' ]); Ext.onReady(function() { var store = Ext.create("Ext.data.TreeStore", { model : "ctreemodel", root: {id:"0",text:"菜单",expanded: true ,children:${menuJson}} }); treePanel = Ext.create('Ext.tree.Panel', { id: 'tree', width: 300, autoScroll: true, renderTo: 'menuTree', store: store }); treePanel.expandAll(); });</div>