jstree checkbox選擇所有子節點卻不自動選擇父節點


 轉 http://blog.csdn.net/liu739/article/details/38281145

jstree checkbox選擇所有子節點卻不自動選擇父節點

jstree加個checkbox插件就可以實現多選。且默認 選中父節點就選中其所有子節點,選中所有子節點就自動選中這些子節點的父節點。

我現在的需求是,即使選擇了所有子節點也不自動選擇父節點,其他不變。。。。。。。。。。

 

在谷歌找了很多國內外國網站,都沒找到解決方法,jstree的庫沒提供這個功能配置選項。。。。

在3.0.0中有一個 three-state屬性,默認為true,true的時候上面那兩種功能就是有的,改為false,那兩種功能就都沒了。很無語…………

 

所以我就去看jstree的源代碼,最終通過修改一小部分實現了我的功能。

具體做法就是把3783行開始的這段代碼注釋掉就好,不會影響其他功能(暫時沒發現,發現問題的大家一起交流)

 

[html]  view plain copy
 
  1. <pre name="code" class="java">    /*   選擇所有子節點后仍不選擇父節點  
  2.                             while(par && par.id !== '#') {  
  3.                                 c = 0;  
  4.                                 for(i = 0, j = par.children.length; i j; i++) {  
  5.                                     c += m[par.children[i]].state.selected;  
  6.                                 }  
  7.                                 if(c === j) {  
  8.                                     par.state.selected = true;  
  9.                                     this._data.core.selected.push(par.id);  
  10.                                     tmp = this.get_node(par, true);  
  11.                                     if(tmp && tmp.length) {  
  12.                                         tmp.children('.jstree-anchor').addClass('jstree-clicked');  
  13.                                     }  
  14.                                 }  
  15.                                 else {  
  16.                                     break;  
  17.                                 }  
  18.                                 par = this.get_node(par.parent);  
  19.                             }  
  20.                             */  


 
         

結果展示:

   選擇父節點時 還會自動全選子節點

因為我需要這個功能,好不容易解決了,分享下……有同樣需求的朋友可以試下,也可以交流下其他方法……


免責聲明!

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



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