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


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$( '#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屬性。

1
2
3
4
5
6
7
8
$( '#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