Я пытаюсь найти способ передать выбор из JSTree в базовую HTML-форму. (Который затем используется Flask & Wtforms). Мне удалось передать его в консольный журнал, но я не уверен, как вернуть его в форму.Заполнение текстового поля от выбора JsTree
Относительно новый для JS, так что успокойтесь, но я не понимаю, как это сделать.
<label for="folderpath">Folder Path:</label>
<input type="text" id="folderpath" name="folderpath" value="">
<br>
<div id="container"></div>
<script id="jstree1" name="jstree1">
$('#container').jstree({
'core': {
"themes": {
"name": "default",
"dots": true,
"icons": true
},
'data': {
'url': "static/JSONData.json",
'type': 'GET',
'dataType': 'JSON',
}
}
});var folderpath =
$('#container').on("changed.jstree", function (e, data) {
console.log(data.instance.get_selected(true)[0].text);
});
</script>
EDIT Я попытался с помощью #folderout. Но это не сработает при использовании тега input type = "text".
<label for="folderout">Folder Path</label>
<input type="text" name="folderout" class="form-control" id="folderout" >
$("#container").on("select_node.jstree", function (evt, data) {
var number = data.node.text
$('#folderout').html(number);
Попробуйте это, $ ('# container'). On ("changed.jstree", функция (e, data) { callback (data.instance.get_selected (true)); }); «changed.jstree» - это имя события, а функция - сценарий, который должен быть выполнен в случае, если это событие запущено, поэтому вам нужно вызвать обратный вызов в вашей функции с параметром «data.instance.get_selected (true)», возвращая все выбранные в данный момент элементы – AbhilashK
Спасибо AbhilashK, но мне нужно передать значение clicked в текст типа ввода HTML. Как мне это сделать? – Infinity8
См. Мое редактирование. Я попытался сделать это с тегом «folderout», но он не будет заполняться. – Infinity8