2017-09-21 258 views
1

My treeveiw example 如何禁用引導樹視圖的父節點複選框

我想保留我的父文件夾名稱不可檢查。但我不能在這裏通過單個節點的選項。

我寫了這樣的代碼。

$("#treeview-checkable").treeview({ 
     data: root.attributeTopicList, 
     showIcon: true, 
     showCheckbox: true, 
     showBorder: false, 
     showTags: true, 
    }); 

}; 

回答

1

我不得不添加一些行bootstrapp-treeview.js文件

Code looks like this

過程 - >>

  • 內bootstrapp_treeview.js轉到

  • 查看如何其渲染功能工程

  • 呦ü會發現,樹狀火災後的任何事件或作出DOM任何改變它所謂的渲染方法
  • 你會發現渲染方法,行號486
  • 如果你寫這樣的方式你的代碼,你的父節點不應該有複選框只寫

    for(var i = 0; (「。glyphicon-minus」)。length; i ++){($(「。glyphicon-minus」)[i])。siblings(「。check-icon」)。hide(); (「。glyphicon-plus」)。length; i ++){($(「。glyphicon-plus」)[i])。siblings(「。check-icon」 「)。隱藏(); }

1

我遇到了同樣的問題。爲了從最上面的父母中刪除複選框,我使用了一些解決方法。

繪製樹之後,我告訴它找到data-nodeid = 0屬性並刪除check-icon分類的span元素。

樹後,所以,正確的初始化運行此:

$("#treeview-checkable").find("[data-nodeid=0]").find(".check-icon").remove(); 

我也發現我的頁面上的每個點擊事件做同樣的事情。

window.onclick = function(){ 
    $("#treeview-checkable").find("[data-nodeid=0]").find(".check-icon").remove(); 
}; 

我做同樣的事情在每一次點擊,因爲我發現,當我擴大了,崩潰了,做了什麼樹,複選框重新出現。

這是最好的解決方案嗎?不行嗎?是。

+1

我在它的庫文件的.js上寫了一些代碼。 :)在我的情況下父文件夾nodeid不保證只是「0」 –

+0

我看到你的解決方案下面並沒有刪除複選框。只需要小心,因爲如果使用「checkAll」函數,它仍然可以在隱藏狀態下進行檢查。否則,您的解決方案運作良好。對不起,我沒有意識到這是所有的父母,認爲這只是第一次。 – bucky310

+1

同樣,您也可以在CheckAll函數上使用這些行。在調用checkall之後,它會最終再次調用render函數,並默認使用這行代碼。根本沒有機會檢查父母盒子。 和在可能的情況下:我不使用checkall,這是我到目前爲止的最佳解決方案 –

相關問題