`
yyw84
  • 浏览: 77096 次
社区版块
存档分类
最新评论

JS实现DataGrid模板列和DetailsView中有多个Checkbox时只许选中一个

阅读更多

 问题的提出:必须保证多个CheckBox只能选中一个,使用Radio有点不合适,因为必须保证选择项可以全部不被选中
解决方法来源: http://gwazy.cnblogs.com/archive/2005/07/25/199765.html
谢谢boytomato分享经验 :)

今天在此基础上添加了解决在DetailsView控件下的方法,只是只是一点点改动,记录下来,以备下次使用

1、实现 DataGrid 模板列中有多个checkbox 时只许选中一个

// 实现 DataGrid 模板列中有多个checkbox 时只许选中一个
function change_check(temp)
{
    
var checks= temp.parentElement.parentElement.getElementsByTagName("input");
    
for (i=0;i<checks.length-1;i++)
    
{
        
if (checks[i]!=temp &&checks[i].checked)
        
{
            checks[i].checked
=!temp.checked ;
        }

    }

}

2、实现 DetailsView 模板列中有多个checkbox 时只许选中一个
实现 DetailsView 模板列中有多个checkbox 时只许选中一个
<!---->// 实现 DetailsView 模板列中有多个checkbox 时只许选中一个
function change_check1(temp)
{
    
var checks= temp.parentElement.parentElement.parentElement.getElementsByTagName("input");

    
for (i=0;i<checks.length-1;i++)
    
{
        
if (checks[i]!=temp &&checks[i].checked)
        
{
            checks[i].checked
=!temp.checked ;
        }

    }

}


3、使用方法:
<ItemTemplate>
                            
<asp:CheckBox id="User" Runat="server" onclick="change_check(this)"></asp:CheckBox>
                        
</ItemTemplate>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics