ASP.NET DEMO 12 : CheckBoxList 实现单选
一看标题估计大家都开始怀疑了:单选?为什么不直接使用 RadioButtonList ?
是的。你是对的。然而,实际应用中需求千变万化,谁让我们的客户够 BT 呢?
主要代码
只有一个通用的 CheckBoxList_Click 函数,
需要注意的是 CheckBoxList 可以呈现为 table 布局,也可以呈现为流布局(使用 span 做外部容器)
我的习惯是,脚本代码中,尽量不直接引用 html id,因为对于服务器控件对应的是 ClientID,而ClientID与控件层次关联的,不利于代码移植复用,因此尽可能选择直接传递对象,通过 DOM 获取相关的父控件和子控件。
{
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;
}
<div style="float:left">
<h4>静态项</h4>
<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>
</div>
<div style="float:left;padding-left:100px">
<h4>绑定项</h4>
<asp:CheckBoxList ID="CheckBoxList2" BorderWidth="1" runat="server" DataTextField="Value" DataValueField="Key" OnDataBound="CheckBoxList2_DataBound">
</asp:CheckBoxList>
</div>
兼容性
IE 6 SP6, FF 2.0, Opera 9.2 测试通过
页面效果
下载
转载于:https://www.cnblogs.com/Jinglecat/archive/2007/07/18/823201.html
ASP.NET DEMO 12 : CheckBoxList 实现单选相关推荐
- ASP.NET DEMO 18: 如何编程动态创建 Menu
ASP.NET DEMO 15: 如何编程动态创建 TreeView 的姊妹篇: <%@ Page Language="C#" %> <%@ Import Nam ...
- ASP.NET页面的CheckBoxList组件
CheckBox选择组件是一个程序中都经常的组件.在程序设计中使用到该组件,一般都不会只使用到一个,往往是以多个此类组件的形式出现的.在ASP.NET页面中如果要使用到多个CheckBox组件,除了添 ...
- ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList
有时候希望在 GridView 模板中使用自动回发的 CheckBox (autopostback=true) ,但是 CheckBox 没有 CommandName 属性,因此也就无法在 GridV ...
- ASP.NET——基础 12、Request
1.路径标识符. http标准定为: "/"代表网站根目录. "../"代表上级目录. "./"代表当前目录. Asp.net专用,所以要用 ...
- Asp.NET Demo
最新一个asp.net演示,您可以观看到程序讲解,数据库方面的表创建,存储过程等.在asp.net程序方面,您可以看到各种数据传入的处理,以及Gridview主键值的取得并传至另外页面. 压缩文档中包 ...
- 随笔目录【2016年12月1日整理中~】
.Net 记录(9) 不用写Windows服务实现定时器功能(FluentScheduler )自定义log日志iis 7.5应用程序池自动停止集合已修改;可能无法执行枚举操作.ADO.NET – 3 ...
- asp行驶证识别,驾驶证识别api代码demo示例,还可以识别车牌
今早一个朋友联系我,问我有没有用asp写过行驶证识别或是驾驶证识别,我说这不是asp能办到的,需要借助第三方平台才可以实现,例如百度的api识别接口,他云百度上看了一下又联系我说没有asp的开发文档, ...
- [知识库分享系列] 二、.NET(ASP.NET)
最近时间又有了新的想法,当我用新的眼光在整理一些很老的知识库时,发现很多东西都已经过时,或者是很基础很零碎的知识点.如果分享出去大家不看倒好,更担心的是会误人子弟,但为了保证此系列的完整,还是选择分享 ...
- ASP.NET中EVAL用法大全
<%# Bind("Subject") %> //绑定字段 <%# Container.DataItemIndex + 1%> //实现自动编号 <% ...
最新文章
- xcode 8 重新支持插件
- 赛可达推病毒攻击检测和情报分享服务
- 我自学python的路-我的python后端学习路线
- javascript中变量的判断
- 观光旅游(Floyd)
- dede织梦背景经常使用标签
- Lindström–Gessel–Viennot lemma
- 索尼笔记本如何进Bios设置U盘启动
- 日志分类存放_博特智能|文本智能聚类——千万日志一览无余
- mysql 5.7 mts_mysql5.7 中启用MTS后error log中大量Note日志分析
- 树的基本定义表示方法
- 用Java设计一个通讯录,保存读者的信息。
- 看拉扎维《模拟CMOS集成电路设计》的一些总结和思考(五)——无源与有源电流镜
- C#,汉字转拼音的算法与源代码
- Vue2+Vant2:一个可定制图标的简易扫雷小游戏
- 【React自制全家桶】九、Redux入手
- #1829 : Tomb Raider(哈希)
- 日本风俗业数据_神奇宝贝如何融入日本民俗
- 干货 | 区块链项目估值的逻辑和误区
- 在windows下python3使用multiprocessing.Pool时出现的问题
热门文章
- 业界 | 李彦宏:中国人愿意用隐私交换便利性;无人车事故是“人咬狗”新闻...
- 废弃电器电子产品回收:需要的不仅是补贴 !
- (转)基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作...
- php根据IP地址跳转对应的城市,淘宝REST api调用地址直接使用
- IOS 实现滚动文字
- SQL Server中的角色(服务器级别和数据库级别角色)
- CCNA1 - Final Exam Answers (04/18/2008 10:30)
- 如何创建企业微信应用
- PHP下的浮点运算不准的解决办法
- SAP S/4HANA销售订单创建时,会自动触发生产订单的创建