jQuery MiniUI

标题: checkboxtree中怎样获取选择的节点 [打印本页]

作者: danny    时间: 2014-5-5 17:45:10     标题: checkboxtree中怎样获取选择的节点

本帖最后由 danny 于 2014-5-5 17:46 编辑

var tree = mini.get("tree2");
            var value = tree.getValue(false);
            var node = tree.getSelectedNode();
这样写获取不到node

此外var node=tree.getNode(value);这样写也获取不到node?

我是想通过node获取到node.text的值。也就是选择节点的值,不是id每次获取都是返回一个object,也就是获取不到该节点

希望大家看到帮忙解决一下次问题,非常着急。。。




作者: factory    时间: 2014-5-5 18:21:01

treeselect?

getCheckedNodes()

API里都有
作者: danny    时间: 2014-5-6 11:29:28

factory 发表于 2014-5-5 18:21
treeselect?

getCheckedNodes()

不是selecttree,而是API中的checkboxtree,可以多选的。我使用你给是这个方法了,但是还是获取不到node
作者: factory    时间: 2014-5-6 11:37:49

danny 发表于 2014-5-6 11:29
不是selecttree,而是API中的checkboxtree,可以多选的。我使用你给是这个方法了,但是还是获取不到node ...

getCheckedNodes()肯定能获取到啊,你是不是把返回值数组当对象了?
作者: lost    时间: 2014-5-6 11:39:05

danny 发表于 2014-5-6 11:29
不是selecttree,而是API中的checkboxtree,可以多选的。我使用你给是这个方法了,但是还是获取不到node ...

var tree = mini.get("treegrid1");
var node = tree.getCheckedNodes();
alert(node[0].text)
你是不是获取选中的值?可以获取到的
作者: danny    时间: 2014-5-6 11:44:12

factory 发表于 2014-5-6 11:37
getCheckedNodes()肯定能获取到啊,你是不是把返回值数组当对象了?

没有,我之前使用var node=getCheckedNodes();这样去获取该节点,但是我使用alert(node);的时候得到的是object,也就是我没有获取到该节点啊!
作者: danny    时间: 2014-5-6 11:46:07

lost 发表于 2014-5-6 11:39
var tree = mini.get("treegrid1");
var node = tree.getCheckedNodes();
alert(node[0].text)

嗯,是想获取选择的值,value可以获取到,但是text不可以。因为我的value获取的方法是tree.getvalue();但是获取text的方法不知道啊!只有通过获取该节点然后获取text。但是现在获取不到该选择节点
作者: felt    时间: 2014-5-6 12:14:39

danny 发表于 2014-5-6 11:46
嗯,是想获取选择的值,value可以获取到,但是text不可以。因为我的value获取的方法是tree.getvalue();但 ...

var nodes=tree.getCheckedNodes()   //获取到的是nodes数组
遍历去获取节点的text
比如说
  1. nodes[0].text
复制代码

作者: danny    时间: 2014-5-6 12:36:44

felt 发表于 2014-5-6 12:14
var nodes=tree.getCheckedNodes()   //获取到的是nodes数组
遍历去获取节点的text
比如说 ...

关键是那个nodes是获取不到的,我试用弹出nodes,结果值是[object object]
作者: lost    时间: 2014-5-6 12:44:08

danny 发表于 2014-5-6 12:36
关键是那个nodes是获取不到的,我试用弹出nodes,结果值是[object object]

var json = mini.encode(nodes);把JS对象序列化为字符串
alert(json) 就能看出弹出的[object object]的内容
作者: felt    时间: 2014-5-6 13:09:47

danny 发表于 2014-5-6 12:36
关键是那个nodes是获取不到的,我试用弹出nodes,结果值是[object object]

[attach]4419[/attach]
如图


作者: danny    时间: 2014-5-6 13:25:33

felt 发表于 2014-5-6 13:09
如图

你单独弹出过nodes吗?怎么判断里面是否有值呢?
作者: danny    时间: 2014-5-6 13:30:37

本帖最后由 danny 于 2014-5-6 13:31 编辑
lost 发表于 2014-5-6 12:44
var json = mini.encode(nodes);把JS对象序列化为字符串
alert(json) 就能看出弹出的[object object]的 ...

[attach]4420[/attach]弹出的json的结果就是这样的,这是我点击的那个节点,节点value值就是privilegeid。我想知道那个privilegename的值


作者: felt    时间: 2014-5-6 13:45:09

danny 发表于 2014-5-6 13:25
你单独弹出过nodes吗?怎么判断里面是否有值呢?

说了nodes是数组,你只有一个check的节点的话就nodes[0]
你要privilegename字段,就nodes[0].privilegename
作者: danny    时间: 2014-5-6 13:45:58

felt 发表于 2014-5-6 13:09
如图

不知道什么原因,我这边弹出的是[attach]4421[/attach]

作者: felt    时间: 2014-5-6 13:55:49

danny 发表于 2014-5-6 13:45
不知道什么原因,我这边弹出的是

做个简单的html页面重现一下,带上你的数据
高级模式可以上传文件
作者: danny    时间: 2014-5-6 13:57:47

felt 发表于 2014-5-6 13:45
说了nodes是数组,你只有一个check的节点的话就nodes[0]
你要privilegename字段,就nodes[0].privilegena ...

嗯,可以了。按照这种方法可以了,大家取text,是因为大家json字符串中的是id,text,pid。而我的是具体的字段,我一直按大家这样的字段取的,没有变更,所以就取不到了。
谢谢大家帮我解决了,非常感谢,经过这次之后,我对这个控件已经熟悉了
作者: danny    时间: 2014-5-6 13:59:42

谢谢大家这么热心的帮助我,这么耐心的给我解答这个问题,现在已经解决了,都是我这边的原因,是因为我不理解。我一直按着原始的取值,而我的跟原始的字段已经不一样了,所以一直都取不到。现在问题解决了,谢谢各位版主,谢谢你们!
作者: danny    时间: 2014-5-6 14:01:09

felt 发表于 2014-5-6 13:55
做个简单的html页面重现一下,带上你的数据
高级模式可以上传文件

恩嗯,已经解决了,谢谢您的帮助,原因就是我的取值方法不对,按着你说的方法已经解决了。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2