今天测试easyui-tree checkbox 的单选控制时发现,官方的tree属性中没有提供属性控制checkbox单选,这一点与easyui-datagrid不同,在网上查了一下,发现都是用代码控制实现的,其最终实质是禁用checkbox的人为勾选,而采用tree的select事件来模拟,代码如下
$('#userTree').tree({
data: data,
checkbox: true,
onlyLeafCheck: true,
lines: true,
fit: true,
onSelect: function (node) {
var checkedNode = $('#userTree').tree('getChecked');
if (checkedNode != null && checkedNode.length > 0) {
$.each(checkedNode, function (index, value) {
$('#userTree').tree('uncheck', value.target);
})
}
if (node.checked) {
$('#userTree').tree('uncheck', node.target);
}
else {
$('#userTree').tree('check', node.target);
}
},
onLoadSuccess: function (node, data) {
//取消checkbox的默认行为
$(this).find('span.tree-checkbox').unbind().click(function () {
return false;
})
}
})
主要借助onSelect和onLoadSuccess来控制,将checkbox转为select
GOOD LUCK!!!