在转发器中只选中了一个复选框

时间:2016-09-20 23:56:29

标签: c# asp.net checkbox

我有一个转发器,每个项目都有一个复选框。我想一次只检查一个。

复选框是asp:复选框,不知道它是否有任何区别。 我尝试了一些jquery,但它似乎没有用。

 <asp:Repeater runat="server" DataSourceID="SqlDataSource1" ID="repeater1">
  <ItemTemplate>
  <asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged" Checked='<%# Eval("carousel_check")%>'/>
 </ItemTemplate>
 </asp:Repeater>

我试过给复选框一个cssclass(checked_button),然后是这个脚本。

    $(document).ready(function () {
        $('.checked_button').change(function () {
            if ($(this).is(':checked')) {
                $('.radio-similar').not(this).removeAttr('checked');
            };
        });
    });

1 个答案:

答案 0 :(得分:2)

ASP.Net Checkbox在span标记内呈现。

<span class="checked_button">
   <input id="MainContent_Repeater1_CheckBox1_2" 
     type="checkbox" name="ctl00$MainContent$Repeater1$ctl02$CheckBox1">
</span>

所以选择器应该是.checked_button input。然后取消选中所有复选框,并仅检查触发点击事件的复选框。

$(function() {
    $(".checked_button input").click(function () {
        $('.checked_button input').attr("checked", false);
        $(this).prop("checked", true);
     });
});