easyui中combotree只能选子选项,父级不被选中,并且展开

easyui中combotree只能选子选项,父级不被选中,并且展开,第1张

我们打开官网的例子可以看到,当我们点击父节点的时候,父节点被选中到结果里面了。然而难免会遇到不选父节点,只是展开的情况。

于是开始搜索是否有和我情况相同的做法。幸好,果然有 easyui中combotree只能选子选项,父级不被选中 。于是动手尝试吧,据这篇文章所说,先增加了 onBeforeSelect的回调,如果我的数据结构中, type==0 (父节点的数据),就 return false

然而结果只是不赋值到结果集合,我需要不仅仅是不选中,还要展开。

经过各种尝试,我只能另辟蹊径,我发现当多选,并且 onlyLeafCheck:true 的情况下,点击父节点是没有任何反应的,这样就不会选中父节点的值,下面我希望点击父节点他能够展开关闭,经过观察发现可以通过触发旁边的小箭头来实现。

至此我的需求实现了,但是由于用了复选的,多了个问题,就是可以选中多个值,最后我们来整理下结果就好了,永远取最后一个值。

首先说树形结构,国内有个开源的js控件叫zTree,支持复选。

然后下拉框你可能需要自己做一个(html输入框+右边的一个图标按钮)。

最后,用一个隐藏的div把树形结构包起来,这个div设置成绝对定位,在下拉框右侧选择按钮的单击事件处理函数里,显示这个隐藏的div,并把它的位置设置成在下拉框下面就行了。

思路就是这样,要么楼主可以找找有没有其他更现成的控件,extjs4我记得有类似的,但是他的复选功能不太符合中国习惯,也许现在的版本改好了,你可以查查试试看。

我也遇到过这个问题 , 我把它的js文件 修改了。 现在是可以点父节点,但是点的没用,只有点子节点才有用实现:在 jquery.easyui.min.js的 8906行 修改 -- onClick : function(node) { }这个方法 在这个方法里面 添加 验证点击的是不是叶子节点。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11246254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存