Невозможно вызвать метод метод - Bootstrap Treeview
Я использую Bootstrap Treeview в шаблонах Unify. Я получаю следующую ошибку:
bootstrap-treeview.js: 1212 Не инициализирован, не может вызвать метод: expandNode
когда я пытаюсь развернуть узел программно при обновлении страницы, чтобы сохранить развернутое состояние дерева.
if (document.location.href.indexOf(hash) > -1) {
var nodeId = $.cookie('activeAccordionGroup');
if (nodeId != null) {
$('#tree').treeview('expandNode', [nodeId ]);
}
}
Я получаю идентификатор узла в приведенном выше коде из файла cookie, который был создан при выборе узла. Я получаю ту же ошибку для всех методов, описанных в ссылке ниже:
1 ответ
Сегодня я устранял ту же ошибку, но вызвал другой метод: collapseAll; на загрузочном плагине treeview.
Только когда я применил что-то вроде следующего, метод treeview вел себя как ожидалось:
setTimeout(function() {
$("#tree").treeview("collapseAll", { silent: true })
}, 1000);
Я назвал выше только ПОСЛЕ того, как я изначально установил древовидную структуру внутри вызова ajax. Другими словами, я запускаю функцию treeview дважды в одной и той же функции успеха ajax.
Чтобы применить настройки древовидной структуры, заполните древовидную структуру данными и событиями соединения;
И второй раз, чтобы запустить метод в древовидной структуре (но с задержкой в 1 секунду). Я предполагаю, почему это работает таким образом, то, что вызовы метода treeview не могут задействовать treeview, пока он не будет полностью "инициализирован" (то есть полностью визуализирован).