1

HTMLページに階層データソースとして外部jsonファイルを含む剣道UIツリービューがあります。

ツリービューからノードを追加および削除したいので、剣道ページのデモに従いましたが、

TypeError: c.replace is not a function削除のためのjquery.min.js:2Web コンソールで

そして

HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchyjquery.min.js:2追加用の Web コンソールでオンにします。

私のコードは次のとおりです。

$(document).ready(function() {
            $.getJSON("OnTheSpotDATA/" + parent.accountID + "/" + parent.username + "/" + "tree.json", function (data) {
                var treeview = $("#treeview").kendoTreeView({
                    dragAndDrop: true,
                    dataSource: kendo.observableHierarchy(data)
                });
                $(".k-treeview").data("kendoTreeView").bind("dragstart", function(e) {
                    if (e.sourceNode.childNodes.length > 1) {
                        e.preventDefault();
                    }
                });
                $("#removeNode").click(function() {
                    var selectedNode = treeview.select();

                    treeview.remove(selectedNode);
                });
                $("#appendNodeToSelected").click(function() {
                    var selectedNode = treeview.select();

                    if (selectedNode.length == 0) {
                        selectedNode = null;
                    }

                    var nodeText=prompt("Please enter desired Node name","Default");

                    if (nodeText == null) {
                        return;
                    }

                    treeview.append({
                        text: nodeText
                    }, selectedNode);
                });
            })

私は何を間違っていますか?これを修正する方法はありますか?私はそれが正しく動作するはずだと思います..

4

1 に答える 1

3

に含めるのを忘れdata("kendoTreeView")ましたtreeview.select()treeview.data("kendoTreeView").select()

また、コード (スタイル) を削減するという問題もあります。私は、すでにdata("kendoTreeView")イベントを含むツリービューを定義することを好みます。何かのようなもの:

var treeview = $("#treeview").kendoTreeView({
    dragAndDrop:true,
    dataSource :kendo.observableHierarchy(data),
    dragstart  :function (e) {
        if (e.sourceNode.childNodes.length > 1) {
            e.preventDefault();
        }
    }
}).data("kendoTreeView");
于 2012-11-13T22:02:55.047 に答える