我试图找出一种方法,将选择从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/

10-09 23:56