0

我使用這個演示時,它選擇的對象並不在控制檯顯示:https://github.com/ezraroi/ngJsTree爲什麼點擊

API參考:https://www.jstree.com/api/#/

我做了兩個例子

  1. 首先我有一個複選框。當我選擇任何複選框,則顯示所選擇的項目對象(codepen:http://codepen.io/naveennsit/pen/MKJdOZ?editors=101

    $scope.getSelectedCategories = function() { alert('---') var selected_nodes = $scope.treeInstance.jstree(true).get_checked(true); console.log(selected_nodes); };

  2. 但是,當我刪除此複選框,點擊,而不是在控制檯(codepen:http://codepen.io/naveennsit/pen/RrKmxp)顯示所選項目

我在這兩個示例中都使用了相同的函數,但第二個函數不起作用。

+0

您有多個指向不同外部資源的鏈接來展示您的代碼。將相關位移到帖子後面 - 如果用戶不需要打開多個瀏覽器窗口只是爲了弄清楚你有什麼代碼,他們就更有可能提供幫助。 –

回答

1

根據jsTree .get_checked(true)的文檔返回「所有已檢查節點的數組」。如果您沒有與節點關聯的複選框,那麼我不確定它會起作用。或者,如果沒有重要的解決方法,它將無法正常工作。但是,文檔說「如果在設置中啓用tie_selection,則此函數將返回與get_selected相同的值」。這可能會爲您提供您所尋求的解決方案。否則,您可以將.get_checked更改爲.get_selected 我使用的文檔可以找到here. 它在頁面的下方找到.get_checked fyi。

編輯 我決定自己試試。

$scope.getSelectedCategories = function() { 
    var selected_nodes = $scope.treeInstance.jstree(true).get_selected(true); 
    alert(JSON.stringify(selected_nodes)); 
}; 

這提醒了對象。