Предварительно проверенный узел bootstrap-treeview при загрузке страницы - PullRequest
1 голос
/ 01 мая 2019

Я могу отобразить свое содержимое в виде дерева начальной загрузки, могу изменить несколько вещей, то есть ограничить выбор только одним узлом. Используя грязное решение,

if(editId!='') {
                $($checkableTree).treeview('uncheckAll', { silent: true });
                $($checkableTree).treeview('checkNode', [ node.nodeId, { silent: true } ]);
}

Проблема Я хочу предварительно проверить узел во время редактирования, проблема в том, что у меня нет nodeId, у меня есть только информация href-записи.

пожалуйста, смотрите ниже снимок экрана.enter image description here

Я взял ниже документацию для справки, но не повезло, https://www.jqueryscript.net/other/Dynamic-Tree-View-Plugin-jQuery-Bootstrap.html

, если кто-то знает, как это сделать, пожалуйста, помогите.

1 Ответ

1 голос
/ 02 мая 2019

Ну, я могу решить мою проблему,

Ниже было решение,

<script>
if(editId!='') 
{   
            selectNodeById(editId); // this function to get the node Id to make checked
            checkvals = parseInt(document.getElementById('editid_node').value); 
            $($checkableTree).treeview('checkNode', [ checkvals, { silent: true } ]);
            $('#checkable-output').prepend('<p>' +checkvals + ' was checked</p><div style=""><input type="checkbox" name="arr[]" checked id="check_'+checkvals+'" value="'+node.href+'"></div>');

}

function selectNodeById(id)
{
    var treeViewObject = $('#treeview-checkable').data('treeview'),
    allCollapsedNodes = treeViewObject.getCollapsed(),
    allExpandedNodes = treeViewObject.getExpanded(),
    allNodes = allCollapsedNodes.concat(allExpandedNodes);
    for (var i = 0; i < allNodes.length; i++) {

        console.log(allNodes);
        if (allNodes[i].href != id) continue;
        document.getElementById('editid_node').value = allNodes[i].nodeId;
    }
}
</script>
  <html>  
  <input type="hidden" name="editid_node" id="editid_node" value="">
</html>
  • selectNodeById ($ editId) для получения ID узла из href, в моем случае href уникален

  • editid_node - это скрытый файл, в котором я назначил nodeId

  • checkvals = parseInt (document.getElementById ('editid_node'). Value); используется для проверки нужного узла.

...