博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET DEMO 12 : CheckBoxList 实现单选【转】
阅读量:6300 次
发布时间:2019-06-22

本文共 2451 字,大约阅读时间需要 8 分钟。

转自:

demo:

一看标题估计大家都开始怀疑了:单选?为什么不直接使用 RadioButtonList ?

是的。你是对的。然而,实际应用中需求千变万化,谁让我们的客户够 BT 呢?
主要代码
只有一个通用的 CheckBoxList_Click 函数,
需要注意的是 CheckBoxList 可以呈现为 table 布局,也可以呈现为流布局(使用 span 做外部容器)
我的习惯是,脚本代码中,尽量不直接引用 html id,因为对于服务器控件对应的是 ClientID,而ClientID与控件层次关联的,不利于代码移植复用,因此尽可能选择直接传递对象,通过 DOM 获取相关的父控件和子控件。

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;          
    }

 

< h3 > 单选效果的 CheckBoxList </ h3 >
    < 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 测试通过
页面效果

 

 

 

全部代码
1 <%@ Page Language="C#" AutoEventWireup="true"  %> 2  3  4  5 46 47 48 49     DEMO12_CheckBoxListSingleCheck50     65 66 67     
68

单选效果的 CheckBoxList

69
70

静态项

71
72
Item1
73
Item2
74
Item3
75
Item4
76
Item5
77
78
79
80

绑定项

81
82
83
84
85

RadioButtonList 对比

86
87
88
89
90 91
你可能感兴趣的文章
第6章 Spring Boot数据库集成
查看>>
专家教你使用MaxCompute玩转大数据分析!
查看>>
1-SII--SharedPreferences完美封装
查看>>
Idea_学习_09_Idea 方法自动生成参数默认名
查看>>
4-SII--☆Android缓存文件(带有效时长)封装
查看>>
go-fastdfs v1.2.5 发布,支持图片缩放,高性能、高可靠分布式文件系统
查看>>
第一章 十天干,十二地支
查看>>
Unity 3D-AR开发-Vuforia教程手册
查看>>
05.企业信息化战略与实施
查看>>
iOS设置拍照retake和use按钮为中文简体
查看>>
.NET快速信息化系统开发框架 V3.2-&amp;gt;Web版本新增“文件管理中心”集上传、下载、文件共享等一身,非常实用的功能...
查看>>
解决因为ssh秘钥权限问题导致的Connection closed by 192.168.1.31 port 2222
查看>>
区块链开发公司谈区块链有哪些算法
查看>>
移动端H5的简单时间轴效果
查看>>
error: only position independent executables (PIE) are supported.
查看>>
Java中wait()与sleep()的区别
查看>>
从一个实战项目来看一下React Native开发的几个关键技术点
查看>>
Webpack 入门
查看>>
x86 和 ARM 谁能主宰服务器市场?Linux 之父和 Redis 之父有分歧了
查看>>
vuex - 常用命令学习及用法整理
查看>>