单选CheckBoxList

【转个】

最近老大给个页面,要单选CheckBoxList,找了找,没有合适的,还得自己实现

1、在页面上放个CheckBoxList,注意添加了SingleIndex的属性,以及onclick客户端事件


 1            <asp:CheckBoxList ID="ckList" runat="server" RepeatLayout="Table" RepeatColumns="3" singleIndex="-1" onclick="singleCheck(this);" >
 2                <asp:ListItem>1</asp:ListItem>
 3                <asp:ListItem>2</asp:ListItem>
 4                <asp:ListItem>3</asp:ListItem>
 5                <asp:ListItem>4</asp:ListItem>
 6                <asp:ListItem>5</asp:ListItem>
 7                <asp:ListItem>6</asp:ListItem>
 8                <asp:ListItem>7</asp:ListItem>
 9                <asp:ListItem>8</asp:ListItem>
10            </asp:CheckBoxList>

 

2、下面我的js脚本

 


 1<script type="text/javascript">
 2function setSingleIndex(ckTable)
 3{   
 4    var count=0;
 5    var inputArray=ckTable.getElementsByTagName("input");
 6    for(i=0;i<inputArray.length;i++)
 7    {   
 8
 9        if(inputArray[i].checked)
10        {
11            ckTable.singleIndex=i;
12            count++;
13        }

14    }

15    if(count==0)
16    {
17        ckTable.singleIndex=-1;
18    }

19}

20window.onload=function()
21{
22    setSingleIndex(document.getElementById("ckList"));
23}

24
25function singleCheck(ckTable)
26{
27    var index=ckTable.singleIndex;
28    var inputArray=ckTable.getElementsByTagName("input");    
29
30    if(index!=-1)
31    {
32        for(i=0;i<inputArray.length;i++)
33        {
34            if(inputArray[i].checked&&i==index)
35            {
36               inputArray[i].checked=false
37            }

38        }

39    }

40    setSingleIndex(ckTable)
41}

42</script>

 

3、这就是我的实现,比较简单,和大家分享一下,欢迎评论
posted @ 2009-03-31 12:59  华育国际上海软件校区  阅读(291)  评论(0编辑  收藏  举报