<script language="javascript" >
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>
使用示例一:
<div align="center" id="DivGridview">
<asp:GridView ID="gvBmxmlb" runat="server" >
<Columns>
<asp:TemplateField>
<HeaderTemplate >请选择</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkBox1" runat="server" οnclick="SignCheck('DivGridview',this);"/>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="45px" />
<HeaderStyle HorizontalAlign="Center" Width="45px" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
使用示例二:
<div align="center" id="DivRepeater">
<table>
<tbody>
<asp:Repeater ID="prjBrowser" runat="server" onitemdatabound="prjBrowser_ItemDataBound"
onitemcommand="prjBrowser_ItemCommand">
<HeaderTemplate>
<tr>
<td>[Title]</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td runat="server" id="check03">
<asp:CheckBox runat="server" ID="chkChoose" οnclick="SignCheck('DivRepeater',this);" />
</td>
<td class="ItemList">
<asp:Label runat="server" ID="btnProjectName" Text="<%#((NEasyOffice.DataEntities.ProjectBrowseItem)Container.DataItem).ProjectFullName_CN%>"></asp:Label>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
</AlternatingItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
</tbody>
</table>
</div>