I have a project where checkboxes are generated dynamically at runtime. I want users to be able to select only one checkbox at a time in each row. Here is my Gridview:
<cc1:Grid ID="GrdWorkingCompany" runat="server" OnRowDataBound="GrdWorkingCompany_RowDataBound" EnableTypeValidation="true" CallbackMode="true" Serialize="true" ShowFooter="false" AutoGenerateColumns="false" AllowAddingRecords="true" AllowSorting="false"
Width="100%" FolderStyle="~/Styles/Grid/style_12" PageSize="18">
<Columns>
<cc1:Column ID="Sr_No" ReadOnly="true" DataField="SrNo" HeaderText="Sr.No." Width="50px">
</cc1:Column>
<cc1:Column ID="Points" ReadOnly="true" DataField="Points" HeaderText="Points" runat="server" Width="300px">
</cc1:Column>
<cc1:Column ID="chkPoor" ReadOnly="true" DataField="Rating1" HeaderText="Poor" Width="110px" TemplateId="tpltPoor">
</cc1:Column>
<cc1:Column ID="chkSatisfactory" DataField="Rating2" HeaderText="Satisfactory" ReadOnly="true" Width="110px" TemplateId="tpltSatisfactory">
</cc1:Column>
<cc1:Column ID="chkGood" ReadOnly="true" HeaderText="Good" DataField="Rating3" Width="110px" TemplateId="tpltGood">
</cc1:Column>
<cc1:Column ID="chkExcellent" HeaderText="Excellent" DataField="Rating4" Width="110px" ReadOnly="true" TemplateId="tpltEx1">
</cc1:Column>
</Columns>
<TemplateSettings GroupHeaderTemplateId="GroupTemplate" />
<Templates>
<cc1:GridTemplate runat="server" ID="GridTemplate2">
<Template>
<%# Container.Column.HeaderText %>
: <i>
<%# Container.Value %></i> (
<%# Container.Group.PageRecordsCount %>
<%# Container.Group.PageRecordsCount>1 ? "records" : "record" %>)
</Template>
</cc1:GridTemplate>
</Templates>
<Templates>
<cc1:GridTemplate ID="tpltPoor">
<Template>
<asp:CheckBox runat="server" Checked='<%# Container.DataItem["Poor"].ToString() == "1" ? true : false %>' value="testing" CssClass="chkclass" onclick="AppoveCheckA(this)" ID="ChkID" ToolTip="<%# Container.Value %>" />
</Template>
</cc1:GridTemplate>
<cc1:GridTemplate ID="tpltSatisfactory">
<Template>
<asp:CheckBox runat="server" Checked='<%# Container.DataItem["Satisfactory"].ToString() == "1" ? true : false %>' value="testing" CssClass="chkclass" onclick="AppoveCheckA(this)" ID="ChkID" ToolTip="<%# Container.Value %>" />
</Template>
</cc1:GridTemplate>
<cc1:GridTemplate ID="tpltGood">
<Template>
<asp:CheckBox runat="server" Checked='<%# Container.DataItem["Good"].ToString() == "1" ? true : false %>' value="testing" CssClass="chkclass" onclick="AppoveCheckA(this)" ID="ChkID" ToolTip="<%# Container.Value %>" />
</Template>
</cc1:GridTemplate>
<cc1:GridTemplate ID="tpltEx1">
<Template>
<asp:CheckBox runat="server" Checked='<%# Container.DataItem["Excellent"].ToString() == "1" ? true : false %>' value="testing" CssClass="chkclass" onclick="AppoveCheckA(this)" ID="ChkID" ToolTip="<%# Container.Value %>" />
</Template>
</cc1:GridTemplate>
</Templates>
</cc1:Grid>
I have tried some code, but it is not working. Here is my JavaScript code:
<script type="text/javascript">
$('input.chk').on('change', function () {
$('input.chk').not(this).prop('checked', false);
});
</script>
Please provide any suggestions. Thank you.