var trNode; var Tree = Ext.tree; var loader = new Tree.TreeLoader({ dataUrl: '../../system/address_list/Default.aspx', listeners: { "beforeload": function(treeLoader, node) { treeLoader.baseParams.id = (node.id != "0" ? node.id : ""); } } }); var tree = new Tree.TreePanel({ // el: 'tree-div', useArrows: true, autoScroll: true, animate: true, // enableDD: true, containerScroll: true, // dropConfig: {appendOnly:true}, loader: loader, listeners: { "click": function(node) { trNode = node; // Ext.get("nodeid").dom.value = node.id; // alert(Ext.get("nodeid").dom.value); }, "checkchange": function(node, state) { if (node.hasChildNodes()) { for (i = 0; i < node.childNodes.length; i++) { node.childNodes[i].getUI().checkbox.checked = state; } } } } }); var root = new Tree.AsyncTreeNode({ text: '我的通讯录', draggable: false, id: '0' }); tree.setRootNode(root); // tree.render(); root.expand(); win = new Ext.Window({ title: '通讯录', iconCls: 'address_list', applyTo: 'txl-win', layout: 'fit', width: 300, height: 400, closeAction: 'hide', plain: true, modal: 'true', items: [tree], buttons: [{ text: '获取选中值', handler: function() { //var nodes = tree.getChecked(); // alert(nodes); var nodes = tree.getRootNode().childNodes; for (var j = 0; j < nodes.length; j++) { var node = tree.getRootNode().childNodes[j]; if (node.hasChildNodes()) { for (var i = 0; i < node.childNodes.length; i++) { if (node.childNodes[i].getUI().checkbox.checked) { alert(node.childNodes[i].id); } } } } } }] }); } win.show(this); }); }); 获取数据方法: shuju.aspx.cs [c-sharp] view plaincopy protected void Page_Load(object sender, EventArgs e) { string node = Request["node"]; string json = ""; if ("0".Equals(node)) { DataTable dt = 获取的数据集 json += "["; for (int i = 0; i < dt.Rows.Count; i++) { json += "{id:'" + dt.Rows[i]["id"].ToString() + "',text:'" + dt.Rows[i]["name"].ToString() + "',leaf:" + (!bool.Parse(dt.Rows[i]["cc"].ToString())).ToString().ToLower() + ",checked:true},"; } json = json.TrimEnd(new char[] { ',' }); json += "]"; } else { DataTable dt = 获取的数据集 //json += "[{id:'554c49b6-bf2e-451d-ab10-64a4d1960d66',text:'节点11',leaf:false},{id:2,text:'节点12',leaf:true}]"; json += "["; for (int i = 0; i < dt.Rows.Count; i++) { json += "{id:'" + dt.Rows[i]["name"].ToString() + "',leaf:" + (!bool.Parse(dt.Rows[i]["cc"].ToString())).ToString().ToLower() + ",checked:true},"; } json = json.TrimEnd(new char[] { ',' }); json += "]"; } Response.Write(json); } 补充说明: 经过测试:var nodes = tree.getChecked();只能获取点击操作复选的值。用js 点击父级同时勾选子级节点这个方法无效。 第二种方法:递归显示tree选中节点 点击显示方法中: function onclick() { var nodes = tree.getRootNode().childNodes; if (nodes.length>0) get_allnode(tree.getRootNode().childNodes[0], true); } get_allnode = function(node, flag) { if (node.hasChildNodes()) { node.eachChild(function(child) { //child.ui.toggleCheck(flag); if(child.attributes.checked) alert(child.attributes.id); get_allnode(child, flag); //递归调用 }); } } 解决方法: 获取tree对象循环判断是否选中 [javascript] view plaincopy var nodes = tree.getRootNode().childNodes; for (var j = 0; j < nodes.length; j++) { var node = tree.getRootNode().childNodes[j]; if (node.hasChildNodes()) { for (var i = 0; i < node.childNodes.length; i++) { if (node.childNodes[i].getUI().checkbox.checked) { alert(node.childNodes[i].id); } } } }
相关推荐
ExtJs4 Checkbox tree
分享一个ExtJs Tree, 完整的带有复选框的树形结构
基于EXTjs 的 动态复选框树 json数据交互
extjs4.1下拉复选框完整DEMO,包含了extjs4.1主文件,代码实现了动态加载功能,所以需要配置IIS或者apache。插件文件在ux目录下,请自行参考。
在网上下载别人的代码,改进加上CHECKBOX ,但是批量删除做不出来,希望高手完成并分享。
网上搜索了许久未找到...Extjs4.2 带复选框的下拉树,解决了向下勾选子节点、向上勾选父节点,正选反选获取值等问题,勾选的节点显示displayfield值直接显示在下拉文本框中。需要引用ext-all.js和ext-all-neptune.css
extjs带复选框的树包括全选 反选 子选父以及 父选子 与adf在jsp页面得应用 包含了工具类以及针对extjs树节点增加、删除、修改的工具方法
checkbox tree extjs2checkbox tree extjs2checkbox tree extjs2checkbox tree extjs2
1、解压,进入extjs4.2.1\examples\form,浏览器打开 hbox-form.html 文件,当我勾选中任意一个多选下拉框,然后再勾选‘ALL’时,‘ALL’却是不被选中的状态,且...extjs4.2.1\examples\form\MultipleComboBox.js
主要介绍了Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法,需要的朋友可以参考下
extjs 如图,实现带有复选框的树,选中父节点时,选中所有子节点。取消所有子节点时,才能取消根节点。 代码如下: var Fpanel = new Ext.tree.TreePanel({ id:’ptree’, region:’west’, layout:’anchor’, border...
ExtJs Tree
最近在学习extjs tree,有两个不错的例子,希望对需要的朋友有所帮助!
Extjs的tree Extjs的tree Extjs的tree Extjs的tree Extjs的tree
extjs tree 异步加载树型完整的一个web工程,自已已经试过,可用。
提问 - Boxy.ask() - 用户定义的选项,选择项传递给回调函数 弹出 - Boxy.alert() - 回调函数总是不被调用 确认 - Boxy.confirm() - 仅当用户选择了“确认”时回调函数会被调用 行业选择器 - Boxy.industry() - 仅当...
extjs3.2 3.3 3.4都测试过可以使用,带有复选框的树菜单,选中父节点子节点全部选中,选中子节点父节点选中(以及父节点的父节点等),其余版本不知道能否使用
EXTJS4.2 Sencha Architect22 treegrid tree checkbox treegrid tree 通过store显示内容,能够通过checkbox点击勾选 其他功能,网上都能找到,就没有再写