似乎无法将节点添加到 Kendo UI TreeView

Cannot seem to add Node to Kendo UI TreeView

我试图将节点从文本框添加到现有的树视图

输入

<input id="appendNodeText" value="Node" class="k-textbox">

按钮

<button type="button" class="btn btn-blue" id="addTopLevel">Add Top Level Menu</button>

javascript

 <script>
     // button handler
      $("#addTopLevel").click(append);

     handleTextBox = function (callback) {
         return function (e) {
            if (e.type != "keypress" || kendo.keys.ENTER == e.keyCode) {
               callback(e);
             }
        };
     };

     var append = handleTextBox(function (e) {
     var selectedNode = treeview.select();
     console.log(selectedNode);
     // passing a falsy value as the second append() parameter
     // will append the new node to the root group
     if (selectedNode.length == 0) {
        selectedNode = null;
     }

     treeview.append({
            text: $("#appendNodeText").val()
            }, selectedNode);
     });

所以我最终得到了这个点击事件,它在其中传递 "append"

老实说我不明白 handleTextBox ,也不明白 append

树视图 "work" 但我想知道这是否是问题的一部分

   var treeview = $("#treeview").kendoTreeView({
                                expanded: true,
                                dragAndDrop: true,
                                dataSource: homogeneous,
                                dataTextField: "ReportGroupName" //"name" //"id" // "FullName"
                                ,
                                change: function(e) {
                                    console.log("Change", this.select());
                                }
                            });

PER 一个答案:

我试过了

$("#addTopLevel").click(function () {
    console.log('in this');
    if (treeview.select().length) {
        console.log('1');
        treeview.append({
            text: $("#appendNodeText").val()
        }, treeview.select());
    } else {
        //alert("please select tree node");
        console.log('2');
    }
});

console.log 写出 'in this' 然后 '1'

所以我什至没有选择任何节点....一定有问题

这是我的 json

[{"Id":1,"ReportGroupName":"Standard Reports","ReportGroupNameResID":null,"SortOrder":1},{"Id":2,"ReportGroupName":"Custom Reports","ReportGroupNameResID":null,"SortOrder":2},{"Id":3,"ReportGroupName":"Retail Reports","ReportGroupNameResID":null,"SortOrder":3},{"Id":4,"ReportGroupName":"Admin Reports","ReportGroupNameResID":null,"SortOrder":5},{"Id":5,"ReportGroupName":"QA Reports","ReportGroupNameResID":null,"SortOrder":4}]

据我所知,您想将文本框值作为节点附加到树视图中的选定节点。我已经创建了一个具有相同功能的 jsfiddle:-

http://jsfiddle.net/GHdwR/468/

按钮的点击事件:-

$("#addTopLevel").click(function() {
    if (treeview.select().length) {
        treeview.append({
            text: $("#appendNodeText").val()
        }, treeview.select());
    } else {
        alert("please select tree node");
    }
});