Javascript 页面加载时引导treeview预检节点

Javascript 页面加载时引导treeview预检节点,javascript,bootstrap-treeview,Javascript,Bootstrap Treeview,我能够在引导树视图中显示我的内容,能够修改一些内容,例如,将选择限制为仅一个节点 if(editId!='') { $($checkableTree).treeview('uncheckAll', { silent: true }); $($checkableTree).treeview('checkNode', [ node.nodeId, { silent: true } ]); } <script> if(edi

我能够在引导树视图中显示我的内容,能够修改一些内容,例如,将选择限制为仅一个节点

if(editId!='') {
                $($checkableTree).treeview('uncheckAll', { silent: true });
                $($checkableTree).treeview('checkNode', [ node.nodeId, { silent: true } ]);
}
<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>
问题 我想在编辑时预先检查一个节点,问题是我没有节点ID,我只有href记录信息

请查看下面的屏幕截图。

我已将以下文件作为参考,但运气不佳,


如果有人知道如何做到这一点,请帮助。

我能够解决我的问题

下面是解决方案

if(editId!='') {
                $($checkableTree).treeview('uncheckAll', { silent: true });
                $($checkableTree).treeview('checkNode', [ node.nodeId, { silent: true } ]);
}
<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>

如果(editId!='')
{   
selectNodeById(editId);//此函数用于获取要进行检查的节点Id
checkvals=parseInt(document.getElementById('editid_node')。值);
$($checkableTree.treeview('checkNode',[checkvals,{silent:true}]);
$(“#可检查输出”).prepend(“”+checkvals+”已选中“

”); } 函数selectNodeById(id) { var treeViewObject=$(“#treeview可检查”).data('treeview'), allCollapsedNodes=treeViewObject.getCollapsed(), allExpandedNodes=treeViewObject.getExpanded(), allNodes=allCollapsedNodes.concat(allExpandedNodes); 对于(var i=0;i
  • 选择nodebyid($editId)从href获取nodeId,在我的例子中,href是唯一的

  • editid_节点是一个隐藏文件,如果我指定了节点ID

  • checkvals=parseInt(document.getElementById('editid_node')。值);用于检查所需的节点