JsTree中節點添加CheckBox 以及 單選的實現


jstree中添加checkbox,需要在初始化時設置plugins屬性:

$('#DpTree').data('jstree', false).empty().jstree({
                'core': {
                    'data': data.data,
                    "check_callback": true,
                    'multiple': false,
                },
                "force_text": true,
                plugins: ["sort", "types", "checkbox", "themes", "html_data"],
                "checkbox": {
                    "keep_selected_style": false,//是否默認選中
                    "three_state": false,//父子級別級聯選擇
                    "tie_selection": false
                },
            });

   eg:設置three_state為true時,選擇所有子節點后父節點會自動選擇。

  

我的需求是選擇一個節點綁定給其他數據,節點只能選擇一個,且不可重復。

故,添加如下事件,選擇節點后遍歷所有選中的節點,更改其checkbox屬性。

$('#DpTree').on('check_node.jstree', function(event, obj) {
                var ref = $('#DpTree').jstree(true);
                var nodes = ref.get_checked();  //使用get_checked方法
                $.each(nodes, function(i, nd) {
                    if (nd != obj.node.id)
                        ref.uncheck_node(nd);
                });
            });

只能選擇一個節點,可用於類似下拉框中的選擇。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM