easyui tree带checkbox实现单选

时间:2024-12-26 20:35:56
<ul id="regionTree"></ul>
$('#regionTree').tree({
cascadeCheck: false,
//onlyLeafCheck: true,
checkbox: true,
data: [{
"id": 1,
"text": "My Documents",
"children": [{
"id": 11,
"text": "Photos",
"state": "closed",
"children": [{
"id": 111,
"text": "Friend"
}, {
"id": 112,
"text": "Wife"
}, {
"id": 113,
"text": "Company"
}]
}, {
"id": 12,
"text": "Program Files",
"children": [{
"id": 121,
"text": "Intel"
}, {
"id": 122,
"text": "Java",
"attributes": {
"p1": "Custom Attribute1",
"p2": "Custom Attribute2"
}
}, {
"id": 123,
"text": "Microsoft Office"
}, {
"id": 124,
"text": "Games",
"checked": true
}]
}, {
"id": 13,
"text": "index.html"
}, {
"id": 14,
"text": "about.html"
}, {
"id": 15,
"text": "welcome.html"
}]
}]
,
width: 160,
height: 32,
panelHeight: 400,
onSelect: function (node) {
var cknodes = $('#regionTree').tree("getChecked");
for (var i = 0; i < cknodes.length; i++) {
if (cknodes[i].id != node.id) {
$('#regionTree').tree("uncheck", cknodes[i].target);
}
}
if (node.checked) {
$('#regionTree').tree('uncheck', node.target); } else {
$('#regionTree').tree('check', node.target); } },
onLoadSuccess: function (node, data) {
$(this).find('span.tree-checkbox').unbind().click(function () {
$('#regionTree').tree('select', $(this).parent());
return false;
});
}
})

关键代码:

onSelect: function (node) {
var cknodes = $('#regionTree').tree("getChecked");
for (var i = 0; i < cknodes.length; i++) {
if (cknodes[i].id != node.id) {
$('#regionTree').tree("uncheck", cknodes[i].target);
}
}
if (node.checked) {
$('#regionTree').tree('uncheck', node.target); } else {
$('#regionTree').tree('check', node.target); } },
onLoadSuccess: function (node, data) {
$(this).find('span.tree-checkbox').unbind().click(function () {
$('#regionTree').tree('select', $(this).parent());
return false;
});
}

技术交流QQ群:15129679