簡體   English   中英

如何在 jquery jstree 中獲取已檢查的節點

[英]How to get checked nodes in jquery jstree

我創建了一個 jquery jstree,它運行良好。 現在的問題是如何獲取已檢查節點的詳細信息。

對於創建 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);

 }); 

請給我一個解決方案。

正如 jstree 的作者 (Ivan Bozhanov) 在關於 get_checked 的 google-Groups Discussion上指出的那樣,也可以使用以下方法來實現:

$('#tree').jstree(true).get_selected();

這將返回一個 ID 列表,例如 ["j1_2"] 或 ["j1_2", "j1_3", "j1_1"]

查看 Ivan Bozhanov本人的小提琴: jsfiddle-Example get_selected

  function submitMe(){ 
        var checked_ids = []; 
        $("#server_tree").jstree("get_checked",null,true).each 
            (function () { 
                checked_ids.push(this.id); 
            }); 
           doStuff(checked_ids); 

通過這一次jstree 谷歌組

$.each($("#jstree_demo_div").jstree("get_checked",true),function(){alert(this.id);});
$('#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(', '));

            }

在使用get_checkedget_selected將布爾值傳遞為 false 以獲取整個節點,如果發送為 true,它將僅返回節點 ID。

你看看https://www.jstree.com/api/#/?q=checkbox&f=get_checked([full])

您還可以查看https://everyething.com/Example-of-jsTree-to-get-all-checked-nodes以了解不同類型的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM