簡體   English   中英

從 jstree 獲取選定的節點

[英]Get the selected Node from a jstree

我正在嘗試從 jstree 獲取選定的節點。

這是視圖中的代碼

<div id="divtree" >
    <ul id="tree" >
         @foreach (var m in Model.presidentList)
         {
             <li class="jstree-clicked">
                  <a href="#" class="usr">@m.Name</a>
                  @Html.Partial("Childrens", m)
              </li>
         }
     </ul>
</div>

這是我嘗試檢索節點名稱的 javascript 部分

$(".jstree-clicked").click(function (e) {
        var node = $(this).jstree('get_selected').text();
        alert(node);
});

我在僅獲取所選節點時遇到問題。 如果我選擇其中一個子節點(例如樹的最后一個節點),我仍然會得到整個節點列表。 如果您知道我做錯了什么,請告訴我?

我不認為您應該為每個<li>節點分配類“ jstree-clicked”。 並使用用於jstree綁定的jstree容器獲取選定的節點。

console.log($("#divtree").jstree("get_selected").text());

由於更多的人認為我的評論有用,因此將其轉換為答案。 感謝Murali的回答,我得以解決我的問題。 這段代碼:

$("#divtree").jstree("get_selected",true)

將返回完整的對象。 (看真實參數)

var data = $(yourtree).jstree().get_selected(true)[0].text;

console.log(data);

這對我有用。 試一試!

嘗試這個:

var CurrentNode = $("#divtree").jstree("get_selected");
console.log($('#'+CurrentNode).text());

以下是我如何在他的“選定”父節點中創建一個新節點:

<div class="input-group mb-3">
    <div class="input-group-prepend">
        <button class="btn btn-secondary" id="add_node">
            Add directory    
        </button>
    </div>
    <input type="text" class="form-control" placeholder="Dir name" id="node_text">
</div>

還有我的 Javascript:

    htmlSource.jstree();

    $('#add_node').on('click', function () {
        let text = $(this).closest('.input-group').find('#node_text').val();
        let selected = htmlSource.jstree('get_selected');
        htmlSource.jstree().create_node(selected, {
            "text": text
        },
        "last",
        function (e) {
            console.log(e);
        });
    })

我希望它可以有用或給某人一個領導

暫無
暫無

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

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