在Asp.Net中,所有的asp控件都是幻象,生成以后是另一个模样。
其中,比较离奇的是RadioButton,微软会把RadioButton中的所有选项生成为相同数量的input(Checkbox),这些input(Checkbox)的id就是RadioButton的id加上数字(从0开始),第一个是RadioButtonId_0,以此类推。被选中input(Checkbox)的checked=true,
判断选中RadioButton中哪个项,可以这样:
for(var i=0;i<count;i++)
{
var checkTem=document.getElementById(RadioButtonid+"_"+i.toString());
if(checkTem &&checkTem.checked==true)
(
alert("你选中了"+(i+1)+"项");
)
}
如果觉得RadioButton比较离谱的话,还有更离谱的,那就是Treeview。Microsoft不知道怎么想的,Treeview的SelectedNode属性只能在服务器端直接访问到,你要是想把SelectedNode存到一个地方,那还是省省吧,访问不到的。但是有时候就是要间接地访问SelectedNode怎么办呢?那就写脚本吧。
生成页面的时候,Microsoft创建了一个input控件,它的ID是TreeviewId_SelectedNode,TreeviewId_SelectedNode控件的属性value就是Treeview的当前选择节点nodeTem。即:
nodeTem=document.getElementById(TreeviewId_SelectedNode.value);
如果TreeviewId_SelectedNode的value为""的话,说明没有选择树节点。
Treeview的当前选择节点的value值为:
nodeTem.href.split("//")[nodeTem.href.split(//).length-1].replace("')","");