问题的提出:必须保证多个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 ;
}
}
}
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 时只许选中一个
3、使用方法:
<
ItemTemplate
>
< asp:CheckBox id ="User" Runat ="server" onclick ="change_check(this)" ></ asp:CheckBox >
</ ItemTemplate >
< asp:CheckBox id ="User" Runat ="server" onclick ="change_check(this)" ></ asp:CheckBox >
</ ItemTemplate >