希望将展开和折叠功能添加到作为父节点的动态生成的文件中
want to add expand and collapse functionality to a dynamically generated file as parent node
im正在开发一个网页,因为im将测试套件文件显示为父节点,而测试套件文件中的tescase是子节点。。我正在向父节点和子节点添加复选框。。我想要的是,我想向父节点添加展开和折叠选项。。默认情况下,当页面加载时,它应该被折叠,当我单击父节点时,它应被折叠。。plzz我尝试了很多方法,但都没能成功。。任何帮助都将不胜感激。。提前感谢
<script type="text/javascript">
//ddtreemenu.createTree(treeid, enablepersist, opt_persist_in_days (default is 1))
function getAlldetails()
{
var xmlhttp;
xmlhttp = new XMLHttpRequest();
//alert("hello");
//alert("ok");
//Create a asynchronous GET request
xmlhttp.open("GET",
"http://localhost:8080/sample/Husky?action=profilevalues", true);
//alert("checkig");
xmlhttp.send();
//alert("after send request");
xmlhttp.onreadystatechange = function() {
//alert("ready state:::"+xmlhttp.status);
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var response = xmlhttp.responseText;
var data = eval("(" + response + ")");//json data get
//alert(data);
var rootinfo=data.rootdirectory;
var dir=rootinfo.root;
//alert(rootinfo.root);
var allfiles=data.listfiles;
//alert(allfiles);
// Make the list itself which is a <ul>
var listElement = document.getElementById("treemenu1");
listElement.innerHTML=dir;
var breakinfoone=document.createElement("br");
sessionStorage.setItem("filetwo","");
listElement.appendChild(breakinfoone);
for ( var i = 0; i<allfiles.length; i++) {
var subobj = allfiles[i];
var id = subobj.singlefile;
var labelinfo=document.createElement("label");
var breakinfo=document.createElement("br");
labelinfo.innerHTML="    "+id;
var ptworkinfo=document.createElement("input");
ptworkinfo.innerHTML="    "+id;
ptworkinfo.type="checkbox";
ptworkinfo.id="cbox"+i;
ptworkinfo.value=id;
listElement.appendChild(ptworkinfo);
listElement.appendChild(labelinfo);
listElement.appendChild(breakinfo);
ptworkinfo.onchange = function(event) {
if(document.getElementById(this.getAttribute("id")).checked)
{
alert(this.getAttribute("value"));
sessionStorage.setItem("filetwo", this.getAttribute("value"));
}
else
{
sessionStorage.setItem("filetwo","");
}
}
}
}
}
};
}
我认为您正在创建ajax调用成功中的父节点和子节点。所以,只有在将事件添加到DOM之后,才必须附加事件。
或
您可以使用jQuery"在";方法添加到父节点。
$("body").on("click","parent_elements_selector",function(){
//切换父类
});
定义一个CSS类,例如"collapsed",它将隐藏列表元素中的列表项。然后在点击列表元素时切换类:
listElement.onclick = function() {
this.classList.toggle("collapsed");
}
Js小提琴http://jsfiddle.net/gh424/2/
当然,点击列表中的元素会触发点击列表本身,并进行切换。如果这不是所需的行为,那么可以考虑将列表包装到div中,例如:
<div class="container">
<div class="toggler">Toggles the lsit</div>
<ul class="collapsed">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
相关文章:
- 在自定义截面树中获取父节点
- 如何避免在取消选中子节点时取消选中父节点
- 如果未选中子节点,则未选中父节点
- 仅使用某些子节点访问xml中父节点的子节点
- 如何以编程方式在 jsTree 中选择一个节点并打开所有父节点
- 使用Javascript设置带有子节点的父节点的类's文本等于.
- 如何确定父节点是否有子节点
- Javascript在没有jQuery的情况下获取X父节点
- 如何从wijmo-flex网格的树视图中的节点转到父节点
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- 如何在jquery中根据父级和内部父级动态更改输入元素的索引
- JQuery 选择父节点并更改其类名
- 如何删除javascript中的节点,而不需要父节点为null
- 如果未全部选中子节点,则取消选中父节点
- 如何在JavaScript中删除子节点触发点击事件时的父节点
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- 动态地将单击的节点作为加载节点的父节点 - jsTree
- 展开动态树中节点的父节点
- ember中的动态路由显示父节点的模型,而不是自己的模型
- 希望将展开和折叠功能添加到作为父节点的动态生成的文件中