欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在.net中用CheckBoxList实现单选

程序员文章站 2024-02-27 14:33:09
在.net中提供了radiobuttonlist来实现单选的,但是我一直喜欢用checkboxlist 原因我觉得checkboxlist 控件页面展示效果要好看一些,呵呵...
在.net中提供了radiobuttonlist来实现单选的,但是我一直喜欢用checkboxlist 原因我觉得checkboxlist 控件页面展示效果要好看一些,呵呵

这里是先checkboxlist 实现单选采用了控件的点击事件 调用js来控制单选的

例如页面如下:
复制代码 代码如下:

<asp:checkboxlist id="checkboxlist1" borderwidth="1" runat="server" repeatlayout="flow">
<asp:listitem onclick="checkboxlist_click(this)" value="item1">item1</asp:listitem>
<asp:listitem onclick="checkboxlist_click(this)" value="item2">item2</asp:listitem>
<asp:listitem onclick="checkboxlist_click(this)" value="item3">item3</asp:listitem>
<asp:listitem onclick="checkboxlist_click(this)" value="item4">item4</asp:listitem>
<asp:listitem onclick="checkboxlist_click(this)" value="item5">item5</asp:listitem>
</asp:checkboxlist>


这里是调用的js

原理就是:
1、获得页面控件集合,循环查找check

2、设置check 为false ,再将传入的控件设置选中
复制代码 代码如下:

function checkboxlist_click(sender)
{
var container = sender.parentnode;
if(container.tagname.touppercase() == "td") { // 服务器控件设置呈现为 table 布局(默认设置),否则使用流布局
container = container.parentnode.parentnode; // 层次: <table><tr><td><input />
}
var chklist = container.getelementsbytagname("input");
var senderstate = sender.checked;
for(var i=0; i<chklist.length;i++) {
chklist[i].checked = false;
}
sender.checked = senderstate;
}