我有一个转发器,每个项目都有一个复选框。我想一次只检查一个。
复选框是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');
};
});
});
答案 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);
});
});