dtree复选获取选中值的问题……
本人用dtree做了一个树状的复选结构,现在想获取选中节点的值。查看dtree中设置复选的代码,看到如下
代码
JScript code
str += '<input type="checkbox" name="id" id="c'+this.parEnum+'" onClick="caBox(\''+this.formId+'\',\'c'+this.parEnum+'\')" value="' + node.id +'" class="cx"/>';
}
觉得dtree实际上也是用<input>实现的复选,而且name="id",所以我想将dtree生成的树放入一个<form></form>中来获取选中的值,但是发现将dtree生成的树放入form中时,form失效了,点击提交按钮没反应。代码如下:
[code=HTML]<form action="" method="post">
<div class="dtree">
<script type="text/javascript">
var d = new dTree('d');
d.check=true;
d.add(0,-1,'My example tree');
d.add(1,0,'Node 1','index.jsp');
d.add(2,0,'Node 2','index.jsp');
d.add(3,1,'Node 1.1','index.jsp');
d.add(4,0,'Node 3','index.jsp');
document.write(d);
</script>
</div>
<input type="text" name="test" value="">
<input type="submit" value="获取">
</form>
[/code
大家帮忙看下是怎么回事?也可以将怎样获取dtree复选选中值的方法共享下,swdrt@qq.com 先行谢过大家了……
------解决方案--------------------复选框,用name取值是不行的,用id来取,radio才用name取值,其他的都一样,遍历每一个checkbox的id,document.getElementById(id).........
------解决方案--------------------
在form 中
<form name="roleForm">
<input type="hidden" name="nodes" >
在你的JS中找到复选checkbox的代码 增加 onclick ="selectuser(this)"
this.strOutput += '<input type="checkbox" id="this.arrNodes[n].id+'" pid = "this.arrNodes[n].pid+'" onclick ="selectuser(this)" value="' + this.arrNodes[n].url + '">
function selectuser(this){
......
document.roleForm.nodes.value = thsi.id;
}
------解决方案--------------------你把dtree中第三个参数设为一样,你取数据直接取这个名字就可以得到一个选择的数据