我的条件:我有一个内部复选框<tr>
,写在<asp:repeater>
用户控件上,放置在 aspx 页面中。
我的目标:当<tr>
被点击时,JQuery 会更改(或者特别是切换)复选框选中的属性以及<tr>
自身的 css 类。
我已经尝试了几种方法,到目前为止,只有这个对我有用:http: //jsfiddle.net/xixonia/WnbNC/ ,但不幸的是,所有的复选框都被切换了,而不仅仅是选中的一个,就像jsfiddle.net 上的示例。此外,如果我单击复选框本身,则会选中所有其他复选框而不是单击的复选框。
我做了什么:
$(".moduleTableItem").click(function (e) {
// Toggles CSS
if (!$(this).closest('tr').hasClass("tr.active")) {
$(this).closest('tr').css('background-color', 'blue');
$(this).closest('tr').addClass("tr.active");
} else {
$(this).closest('tr').css('background-color', 'red');
$(this).closest('tr').removeClass("tr.active");
}
// Toggles Checkbox
$(':checkbox').prop('checked', function (i, value) {
return !value;
});
ASP:
<asp:Repeater ID="repModuleGeneral" runat="server" EnableViewState="true">
<ItemTemplate>
<tr id="trModuleGeneral" class="moduleTableItem" runat="server">
<td>
<input type="checkbox" id="cbxSelect" class="cbxSelect" runat="server" autopostback="false" /></td>
<td>
<asp:Label ID="lblNo" runat="server" /></td>
</tr>
</ItemTemplate>
</asp:Repeater>
这是我的第一个问题。如果我的问题有些不清楚,请告诉我。任何代码片段或工作解决方案将不胜感激。
谢谢你。