3

jquery jstree を 1 つ作成しましたが、正常に動作しています。問題は、チェックされたノードの詳細を取得する方法です。

JStree を作成するためのコードは次のとおりです。

$(function () {
$("#tree").jstree({ 
    "json_data" : {
        "data" : [
            {"data":"pe_opensourcescanning","id":0,"pId":-1,"children":  [{"data":"tags","id":30,"pid":0},{"data":"branches","id":29,"pid":0},{"data":"trunk","id":1,"pid":0,"children":[{"data":"import-export","id":28,"pid":1},{"data":"custom_development","id":12,"pid":1},{"data":"Connectors","id":7,"pid":1},{"data":"support","id":6,"pid":1},{"data":"Installation-Configuration","id":5,"pid":1},{"data":"backup","id":2,"pid":1}]}]}
        ]
    },
    "plugins" : [ "themes", "json_data", "checkbox", "ui" ]
}).bind("select_node.jstree", function (e, data) { alert(data.rslt.obj.data("id")); });

チェックされたノードを取得している間、それらのチェックされた要素のすべての属性値が必要です。「タグ」のように、json オブジェクトは {"data":"tags","id":30,"pid":0} のように見えるため、ユーザーがタグを選択した場合、「data」と「id」の値が必要です。 . 私はいくつかのコードを書き込もうとしましたが、残念ながらそれは機能していません。

チェックされたノードの取得。

$("#" +div2.childNodes[i].id).jstree("get_checked",null,true).each 
      (function () { 
         alert(this.data);
         alert(this.id);

 }); 

解決策を教えてください。

4

5 に答える 5

5
$('#dvTreeStructure').on('changed.jstree', function (e, data) {
                var i, j, r = [];
                for (i = 0, j = data.selected.length; i < j; i++) {
                    r.push(data.instance.get_node(data.selected[i]).text.trim());
                }
                alert('Selected: ' + r.join(', '));

            }
于 2015-04-17T11:16:24.383 に答える