• 转:只能选择GridView中的一个CheckBox(单选CheckBox)


    方法1:

    protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    CheckBox cbx = e.Row.FindControl("cbID") as CheckBox;
    try
    {
    //绑定选中CheckBox 客户端ID
    cbx.Attributes.Add("onclick", "Change(" + cbx.ClientID + ")");
    }
    catch
    {
    }

    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor ='#6699ff'");
    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor =currentcolor");
    }
    }

    后台源中

    <script type="text/javascript">
    function Change(SCheckBox) {
    //找到页面所有 input
    var objs = document.getElementsByTagName("input");
    for (var i = 0; i < objs.length; i++) {
    //找到input中的checkbox
    if (objs[i].type.toLowerCase() == "checkbox")
    //所有checkbox为false
    objs[i].checked = false;
    }
    //找到选中checkbox
    var SelectCheckBoxID = SCheckBox.id;
    //选中checkbox为true
    document.getElementById(SelectCheckBoxID).checked = true;
    }
    </script>

    方法2:

    //识别不同的浏览器 
    function getTargetElement(evt) {
    var elem
    if (evt.target) {
    elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target
    }
    else {
    elem = evt.srcElement
    }
    return elem
    }

    var lastD = null;
    function Change(evt) {
    evt = (evt) ? evt : ((window.event) ? window.event : " ");
    if (evt == " ") {
    return;
    }
    var obj = getTargetElement(evt);
    var hasTreeNode = false;
    if (obj.tagName) {
    if (obj.tagName == "INPUT" && obj.type == "checkbox") {
    if (lastD) lastD.checked = false
    lastD = obj;
    obj.checked = true;

    }
    }
    }

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    try
    {
    GridView1.Attributes.Add("onclick", "Change(event)");

    }
    catch
    {
    }

  • 相关阅读:
    HTML总结
    js五角星评分特效
    正则表达式
    C#文件路径的写法
    vs2010发布网站
    INI文件阅读器
    .net读取xml文件中文乱码问题解决办法
    js利用定时器动态改变层大小
    c#中ref和out的用法
    分享一篇关于C#对文件操作的日志,方法很全
  • 原文地址:https://www.cnblogs.com/jearay/p/3382331.html
Copyright © 2020-2023  润新知