jQuery MiniUI

标题: 设置树节点勾选状态 [打印本页]

作者: zhangying    时间: 2014-3-20 14:12:52     标题: 设置树节点勾选状态

如何设置树的节点为勾选状态?checkNodes怎么实现不了?
作者: lost    时间: 2014-3-20 14:24:59

http://www.miniui.com/demo/#src=tree/checkboxtree.html
参考这个示例demo
作者: zhangying    时间: 2014-3-20 14:26:50

当有个数据被选中时,我用tree.setValue("")也只能选中最后一个
作者: felt    时间: 2014-3-20 14:32:46

zhangying 发表于 2014-3-20 14:26
当有个数据被选中时,我用tree.setValue("")也只能选中最后一个

请贴出你的代码
作者: zhangying    时间: 2014-3-20 14:39:11

felt 发表于 2014-3-20 14:32
请贴出你的代码

[attach]4151[/attach]

作者: felt    时间: 2014-3-20 14:45:05

zhangying 发表于 2014-3-20 14:39

你这样循环,你第二次setValue的时候前一次的就清空掉了
你直接用checkNodes(nodes)试试
作者: zhangying    时间: 2014-3-20 15:22:27

felt 发表于 2014-3-20 14:45
你这样循环,你第二次setValue的时候前一次的就清空掉了
你直接用checkNodes(nodes)试试 ...

[attach]4152[/attach]也不行

作者: lost    时间: 2014-3-20 15:31:52

zhangying 发表于 2014-3-20 15:22
也不行

你直接var nodes = mini.decode(text);
你转化的是text.这个不对的吧?
作者: factory    时间: 2014-3-20 15:37:04

zhangying 发表于 2014-3-20 15:22
也不行

checkNodes()里面是节点对象数组, 你有没有保证你后台返回的,是节点数据?

如果不是节点数据,根据对应id,获取对应节点,再设置

var node = tree.getNode(node.id)

tree.checkNode(node)
作者: zhangying    时间: 2014-3-20 15:37:17

lost 发表于 2014-3-20 15:31
你直接var nodes = mini.decode(text);
你转化的是text.这个不对的吧?

[attach]4153[/attach]返回的数据是数组格式。数据没问题吧。

作者: zhangying    时间: 2014-3-20 15:47:14

factory 发表于 2014-3-20 15:37
checkNodes()里面是节点对象数组, 你有没有保证你后台返回的,是节点数据?

如果不是节点数据,根据对应id, ...

可以了。不过有个瑕疵。var node = tree.getNode(node.id) 这个前后id不一致。node.id=3   可是赋值以后,node里面的id就变成4了
作者: factory    时间: 2014-3-20 16:00:09

zhangying 发表于 2014-3-20 15:47
可以了。不过有个瑕疵。var node = tree.getNode(node.id) 这个前后id不一致。node.id=3   可是赋值以后 ...

不会的,你这个id如果是你数据的话,我们是不会主动修改客户数据的
除非
1.你看错字段
2.你做了修改id操作,这样会把用户数据修改的,我们肯定不会主动去修改客户的数据的
作者: zhangying    时间: 2014-3-20 16:03:13

本帖最后由 zhangying 于 2014-3-20 16:13 编辑
factory 发表于 2014-3-20 15:37
checkNodes()里面是节点对象数组, 你有没有保证你后台返回的,是节点数据?

如果不是节点数据,根据对应id, ...

[attach]4156[/attach][attach]4155[/attach]为什么两边的值不一样。本来应该勾选前五个的,结果第一个没勾选,往下移了一个。?[attach]4157[/attach]

作者: factory    时间: 2014-3-20 16:10:40

zhangying 发表于 2014-3-20 16:03
为什么两遍的值不一样。本来应该勾选前五个的,结果第一个没勾选,往下移了一个。?
...

tree.getNode(node.id.toString())

试试,因为getNode() 他能根据index获取,也能根据id获取
当你的id为int类型时,会被当成index,所以导致勾选的节点出了偏差.你把你的id转成字符串了再试试
作者: zhangying    时间: 2014-3-20 16:17:21

factory 发表于 2014-3-20 16:10
tree.getNode(node.id.toString())

试试,因为getNode() 他能根据index获取,也能根据id获取

成功了。谢谢你哦,么么哒




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