通过js实现在asp.net的gridview中的checkbox单选


试了很多 jQuery 的写法,都没有达到预期的效果,最后还是一个原生的 JS 函数好使,直接上代码:
    <script>
        var ClickNum = 0;//判断同一checkbox连续点击次数
        var PreCheckboxID = "";//记录点击checkbox的ID
        //listId为控制checkbox的范围
        //SelectRadio是点击checkbox自己
        function SignCheck(listId, SelectCheckBox) {
            ///判断是否连击同一个checkbox
            if (PreCheckboxID == SelectCheckBox.id) {
                ClickNum = ClickNum + 1;
            }
            else {
                PreCheckboxID = SelectCheckBox.id;
                ClickNum = 0;
            }
            //找到控制范围
            var GridViewableSearchList = document.getElementById(listId);
            //找到控制范围下所有input
            var objs = GridViewableSearchList.getElementsByTagName("input");
            //找到控制范围下所有checkbox并都变为false
            for (var i = 0; i < objs.length; i++) {
                if (objs[i].type.toLowerCase() == "checkbox")
                    objs[i].checked = false;
            }
            var SelectCheckBoxId = SelectCheckBox.id;
            //如果连击次数为奇次checked为true偶次为false
            if (ClickNum % 2 != 1) {
                document.getElementById(SelectCheckBoxId).checked = true;
            }
            else {
                document.getElementById(SelectCheckBoxId).checked = false;
            }
        }
    </script>

函数可由jQuery触发执行:
            $('#ContentPlaceHolder1_GridView1').find('input:checkbox').click(function () {
                SignCheck('ContentPlaceHolder1_GridView1',this);
            });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值