您好我正在研究Symfony项目,我需要JsTree结构来表示数据库中的层次结构。我声明JsTree库正确地考虑了<ul> & <li>
结构。每个<li>
的id =数据库中相应元素的id,我将<a>
与href=[the url i need to use when click]
放在一起。然后我使用以下功能:
$("#myTree").bind("select_node.jstree",function(event,data){
if(data.rslt.obj.attr("id")!=0){
window.location = "myModule/myAction?id="+data.rslt.obj.attr("id");
}
});
问题是链接无法正常工作。当我点击时,window.location在路径的末尾添加“myModule / myAction?id =”+“所选的id”。
当我尝试更复杂的方式来指示要去的新路由时,例如window.location = <?php echo url_for("myModule/myAction")?>+"/id/"+data.rslt.obj.attr("id");
,那么树的表示失败:它不像树一样显示,就像列表一样。
我认为如果有某种方法可以做到这样的话,那将是可能的:
window.location = data.rslt.obj.attr("id").subelement("a").attr("href");
然后我可以访问<li>
字段中包含的信息。
非常感谢你的时间。
答案 0 :(得分:0)
如果你能找到&lt;的id。李&GT;然后你可以通过
获得它的价值var id = data.rslt.obj.attr(“id”);
$( “#” + ID).VAL();
答案 1 :(得分:0)
我终于找到了答案。有一个名为childNodes
的函数可以返回对象的所有子元素。我使用下面的代码:
var id = data.rslt.obj.attr("id");
var child = document.getElementById(id).childNodes[1].firstChild;
请参阅文档:childNodes doc