好吧,我能够解决我的问题,
以下是解决方案,
<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) 从href获取nodeId,在我的例子中href是唯一的
如果我分配了 nodeId,editid_node 是一个隐藏文件
checkvals = parseInt(document.getElementById('editid_node').value); 用于检查所需的节点。