У меня есть вложенный набор для моих категорий, заданный Майком Хиллиером.Я использую JSTree, и я следовал совету, приведенному здесь в SO: PHP. Преобразование вложенного набора в данные Я создал плоский формат, как и предлагалось, однако нет объяснения, как доставить Root с помощьюродитель #.У моего Root есть родительский элемент «null», поэтому колесо прогресса просто вращается и вращается, и я получаю сообщение об ошибке:
Uncaught TypeError: Невозможно прочитать свойство 'toString' из null
Документы JSTree также рекомендуют установить родительский элемент Root на #, но также не объясняют, как это сделать.Я попытался использовать метод AJAX, однако я не смог заставить его работать эффективно, так как дерево и страница должны загружаться вместе.Как мне заставить JsTree работать?
Итак, это все, что у меня есть:
Контроллер:
public function jsTree(){ // THIS COMES OUT OF A LARAVEL MODEL.
$nodes = $this->category->orderByDepth();
return view ('categories.jsTree',compact('nodes'));
}
Нижняя часть моего обзора:
var jsNodes = <?php echo json_encode($nodes); ?>
$(function () {
$('#jstree').jstree({
"core": {
"themes": {
"variant": "large"
},
data:jsNodes
},
"plugins": ["checkbox"]
});
});
});
Пример моего JSON измой журнал консоли:
0: {id: 1, text: "Root", parent: null}
1: {id: 22, text: "Materials", parent: "Root"}
2: {id: 42, text: "Roofing", parent: "Materials"}
3: {id: 48, text: "Hardware", parent: "Materials"}
4: {id: 43, text: "Services", parent: "Root"}
РЕДАКТИРОВАТЬ: Я снова попробовал маршрут Ajax, как указано Javascripting dot com , и я просто снова получил бесконечное вращающееся колесо,с тем же сообщением об ошибке.