js 如何获取treeview checkbox 选中的value的值 如题 我现在只能获取文本
function returnValue() {
var tree = document.getElementById("treeView").getElementsByTagName("INPUT");
for (var i = 0; i < tree.length; i++) {
if (tree[i].type == "checkbox" && tree[i].checked) {
// parent.document.getElementById()
window.opener.document.getElementById('TextBox_szbm').value = tree[i].nextSibling.firstChild.nodeValue;
window.close();
}
}
}
TreeView设置checkbox事件__doPostBack()
ASP.NET 2.0使用TreeView控件时发现带有CheckBox控件的TreeNode对象(Treeview节点),选择CheckBox无法回发页面。在MSDN中对于TreeView, TreeNodeCheckChanged事件有一段备注:“当TreeView控件的复选框的两次向服务器发送之间要更改状态时,会引发TreeNodeCheckChanged事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时执行一个自定义例程(如更新数据库或显示的内容)。尽管TreeNodeCheckChanged事件在回发时激发,但更改复选框不会导致回发。”说明框架本身并不提供一个CheckBoX回发的机制。
尽管点击CheckBox不会引起回发(PostBack),这样做能够做到checkbox的自动回发。
但在构建树的时候,是没有办法在TreeNode上定义事件,所有我们把这个事件加在TreeView上。
TreeView1.Attributes.Add("onclick", "postBackByObject()"); //注册客户端事件
1 <script type="text/javascript">
2 function postBackByObject()
3 {
4 var o = window.event.srcElement;
5 //判断激发的对象是否为checkbox,如果是则激发__doPostBack("","");
6 //因为前台生成的checkbox是"<input type='checkbox'./> "
7 //所以判断如下:
8 if(o.tagName == "INPUT" && o.type == "checkbox")
9 {
10 __doPostBack("",""); //注意:__doPostBack中为两个下划线组成"_"
11 }
12 }
13 </script>
在.NET中,所有的服务器控件提交到服务器的时候,都会调用__doPostBack("","")这个函数。
第一个参数是你希望提交到服务器的控件的ID号,第二个参数为事件参数。
__doPostBack()函数不是每次后台编译都生成,拉或者出一个TreeView或者DataGrid它就会有。如果没有,我们也可以在后台添加它。
__doPostBack()的原型如下:
1 <script type="text/javascript">
2 <!--
3 var theForm = document.forms['form1'];