我试图找出一种方法,将选择从JSTree传递到基本HTML表单。 (然后由Flask&Wtforms使用)。我已经能够将其传递到控制台日志,但是不确定如何将其返回到表单。
对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>
编辑
我尝试使用#folderout。但是,当使用输入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);
最佳答案
<label for="folderout">Folder Path</label>
<input type="text" name="folderout" class="form-control" id="folderout" >
<script id="jstree1" name="jstree1">
$('#container').jstree({
'core': {
"themes": {
"name": "default"
, "dots": true
, "icons": true
}
, 'data': {
'url': "static/JSONData.json"
, 'type': 'GET'
, 'dataType': 'JSON'
}
}
});
{ /* --- THIS IS FOLDER SELECTOR FOR ID "folderout" --- */
$("#container").on("select_node.jstree", function (evt, data) {
var number = data.node.text
document.getElementById("folderout").value = number; });};
</script>
这里的最后一部分完成了。将data.node.text转换为变量。然后使用getElementById将变量引入html。现在,当您单击一个节点时,它将填充该文本字段。
关于javascript - 从JsTree选择填充文本字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39175140/