2015-05-14 244 views
3

使用jsTree(3.1.0+)與複選框插件的是它可以允許並不是所有的複選框選中 - 禁用其中的一些?jsTree禁用一些複選框

我發現舊版本jsTree這裏jstree disable checkbox解決方案,但它並沒有在jsTree 3.1.0+版本。隱藏複選框jsTree Hide Checkbox

的解決方案是工作,但如果我單擊該文件夾,隱藏複選框無論如何都會被檢查。

謝謝。

回答

11

請記住,除非你使用checkbox.tie_selectionfalse,選擇和檢查是一樣的。

所以,你可以簡單地調用你想要禁用節點上.disable_node()


編輯:使用來自回購最新的代碼(注意 - 不是3.1.1,而最新的代碼): https://github.com/vakata/jstree/archive/master.zip

現在,您可以指定checkbox_disabled狀態:

<div id="jstree"> 
    <ul> 
     <li data-jstree='{"checked":true}'>checked</li> 
     <li data-jstree='{"checkbox_disabled":true}'>checked</li> 
    </ul> 
</div> 

當然在JSON中:

{ "id" : "Test node", "state" : { "checkbox_disabled" : true } } 

您還可以在運行時使用enable_checkbox(node)disable_checkbox(node)更改複選框的禁用狀態。

+0

我使用'tie_selection:FALSE',但如果我會用'.disable_node()',那麼它不會設置節點,以「無法點擊」呢? 'select_node'事件會觸發嗎? – Orbitum

+0

在這種情況下,上述解決方案將無法正常工作,我會看看是否可以想辦法僅禁用複選框。 – vakata

+0

這將是偉大的!我會期待您的解決方案。 – Orbitum