EasyUI的combotree点击父节点也会进行赋值, 所以查看官网就想出 了一个方法, 通过采用多选项的方式来实现"父级展开,子项选中效果"
<style type="text/css">
//隐藏复选框
.tree-checkbox{
display: none;
}
</style>
<div >
// onlyLeafCheck:true该属性必须multiple:true情况下才生效,这是官方一个bug,不知道修复了没有.
<input id="demo" class="easyui-combotree" data-options=" onlyLeafCheck:true, multiple:true " />
</div>
<script type="text/javascript">
$(function () {
$('#demo').combotree({
onBeforeSelect: function (node) {
//父节点上触发节点展开收起
var t = $('#demo').combotree('tree');
if (node.state == "closed") {
t.tree('expand', node.target);
$('#demo').combo("showPanel")
} else {
t.tree('collapse', node.target);
}
},
onCheck: function (node, checked) {
let combotree = $('#demo').combotree('tree');
let tree = combotree.tree('getParent', node.target); //获取父节点node
$('#demo').combotree("setValue", node.id);
combotree.tree('collapseAll');//选中后折叠所有节点
$('#demo').combo("hidePanel");//选中后关闭下拉框
},
});
});
</script>
希望有所帮助 ! ! !