Как переименовать узел jsTree
Я не говорю о $("#demo1").jstree("rename",node)
Что делает узел редактируемым для пользователя. Я говорю об изменении имени в коде. Например, все мои узлы имеют префикс с 2-значным номером " [01]", поэтому перед вызовом $("#demo1").jstree("rename",node)
Я хочу удалить префикс и вернуть его, как только пользователь закончит редактирование. Я попытался выбрать "#nodeid a", но внутри гиперссылки есть тег ins, и это заменяется, если я заменяю содержимое URL. Документация не была полезной и мне не очень повезло, просматривая код библиотеки, может ли кто-нибудь мне помочь? Крис!--3-->
3 ответов
на рекомендовано метод заключается в использовании rename_node
$("#demo1").jstree('rename_node', node , text );
пожалуйста, имейте в виду это по умолчанию все изменения в дереве предотвращено (создание, переименование, перемещение, удаление). Чтобы их установить
core.check_callback
истина
$('#demo1').jstree({
'core': {
'check_callback': true,
/// rest of the options...
}
});
переименовать узел (альтернатива, не рекомендуется)
$("#demo1").jstree('set_text', node , text );
отладка
если вы все еще сталкиваетесь с проблемой, вы можете использовать этот метод, чтобы получить последнюю ошибку.
$('#demo1').jstree(true).last_error()
для более старых версий (v1.*)
$("#demo1").jstree('rename_node', [node , text] );
$("#demo1").jstree('set_text', [node , text] );
Читайте также:
- этот jsfiddle для сравнения и примера обоих способов.
- взаимодействие с jsTree (как вызвать методы API)
- API документация
rename_node
- API-интерфейс документация
set_text
Я считаю, что существует синтаксическая ошибка в отношении квадратных скобок " ["в приведенном выше ответе. Я использую jsTree 3.0.4 и это правильный синтаксис -
right - $("#demo1").jstree('set_text',node,text);
wrong - $("#demo1").jstree('rename_node', [node , text] );
Example -
$("#tree_3").jstree('set_text',"#idSelectorForNode" ,"NewName");
вы должны включить переключатель, чтобы разрешить переименование, такие как:
$('#container').jstree({
'core' : {
'check_callback' : function (operation, node, node_parent, node_position, more) {
// operation can be 'create_node', 'rename_node', 'delete_node', 'move_node' or 'copy_node'
// in case of 'rename_node' node_position is filled with the new node name
return operation === 'rename_node' ? true : false;
}
});