日期:2014-05-17  浏览次数:20818 次

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中第三个参数设为一样,你取数据直接取这个名字就可以得到一个选择的数据