asp.net允许在Gridview中一次只选择一个复选框

时间:2016-05-27 12:11:01

标签: javascript c# asp.net

在我的项目中使用在运行时生成的Checkbox现在我希望用户在Row中一次只选择一个复选框 这是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>

我正在尝试一些代码,但这不起作用

我的Javacsript代码

<script type="text/javascript">
    $('input.chk').on('change', function () {
        $('input.chk').not(this).prop('checked', false);
    });
</script>

请提出任何建议。 感谢

1 个答案:

答案 0 :(得分:1)

你的选择器错了。您的所有元素都没有chk类。它应该是chkClass

$('input.chkClass').on('change', function () {
  $('input.chkClass').not(this).prop('checked', false);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<input type="checkbox" class="chkClass">
<input type="checkbox" class="chkClass">
<input type="checkbox" class="chkClass">