easyui tree带checkbox实现单选

<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"
                }]
            }]
            ,
             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

原文地址:https://www.cnblogs.com/yeminglong/p/5896770.html