Я использую jsTree с плагином checkbox. У меня установлен каскад "вниз". Это отлично работает, за исключением того, что когда я хочу загрузить данные со смесью проверенных и непроверенных узлов, каскад переопределяет настройку "состояние" для узлов. Например.
var data = [
{"id":"p90","parent":"#","text":"Page1", "state": { "selected": true} },
{"id":"p100","parent":"p90","text":"Page2", "state": { "selected": true} },
{"id":"p101","parent":"p100","text":"Page3", "state": { "selected": false} },
{"id":"p102","parent":"p101","text":"Page4", "state": { "selected": true} },
{"id":"p103","parent":"p101","text":"Page5", "state": { "selected": false} }
];
$(function () {
$("#PageTree")
.jstree({
core: { data: data },
plugins: ["checkbox"],
checkbox: { cascade: "down", three_state: false },
expand_selected_onload: true
});
});
В результате получается следующее:
Но это должно выглядеть так:
Я попытался установить параметр "каскад" после загрузки дерева, но это не сработало. Кажется, единственный вариант - написать собственный каскадный код, но я ищу опцию slicker.