如果选中了一个复选框,我想检查所有其他复选框。我的复选框是一个数组。如果选中一个复选框,我希望检查该行中的所有复选框。我的代码
<tr>
<td class="small">
<asp:CheckBox ID="chkReportModuleName" runat="server" name="report"></asp:CheckBox>
</td>
<td class="particulrs"></td>
<td class="small">
<asp:CheckBox ID="chkReportAdd" runat="server" name="reports"></asp:CheckBox>
</td>
<td class="small">
<asp:CheckBox ID="chkReportEdit" runat="server" name="reports"></asp:CheckBox>
</td>
<td class="small">
<asp:CheckBox ID="chkReportDelete" runat="server" name="reports"></asp:CheckBox>
</td>
<td class="small">
<asp:CheckBox ID="chkReportView" runat="server" name="reports"></asp:CheckBox>
</td>
<td class="small">
<asp:CheckBox ID="chkReportPrint" runat="server" name="reports"></asp:CheckBox>
</td>
<td class="othr">
<span><input type="checkbox" id="chkReportActivity1" name="reports" /></span>
</td>
</tr>
选中名为report的复选框。我想检查所有带有名称报告的复选框。 chkReportModuleName复选框是一个数组。单击它时,我只想检查该行中的复选框。
我尝试过的jquery如下:
$('input[name="ctl00$MainContent$chkTransModuleName"]').click(function () {
$('input[name="trans"][i]').attr("checked", this.checked);
$('input[id="MainContent_chkTransAdd"]').attr("checked", this.checked);
$('input[id="MainContent_chkTransEdit"][i]').attr("checked", this.checked);
$('input[id="MainContent_chkTransDelete"][i]').attr("checked", this.checked);
$('input[id="MainContent_chkTransView"][i]').attr("checked", this.checked);
$('input[id="MainContent_chkTransPrint"][i]').attr("checked", this.checked);
});
它运行但我想要检查那些在该行中的复选框。
有人可以帮我这个吗? 感谢
答案 0 :(得分:1)
假设名称ctl00$MainContent$chkTransModuleName
正确
$('input[name="ctl00$MainContent$chkTransModuleName"]').click(function () {
var chk = !!this.checked;
$(this).closest('tr').find('.small > input[type="checkbox"]').attr('checked', chk);
});
答案 1 :(得分:0)
首先,选中CssClass
复选框,以便更容易识别:
<tr>
<td class="small"><asp:CheckBox ID="chkReportModuleName" CssClass="reportModule" runat="server" name="report"></asp:CheckBox></td>
<td class="particulrs"></td>
<td class="small"><asp:CheckBox ID="chkReportAdd" CssClass="checkbox" runat="server" name="reports"></asp:CheckBox></td>
<td class="small"><asp:CheckBox ID="chkReportEdit" CssClass="checkbox" runat="server" name="reports"></asp:CheckBox></td>
<td class="small"><asp:CheckBox ID="chkReportDelete" CssClass="checkbox" runat="server" name="reports"></asp:CheckBox></td>
<td class="small"><asp:CheckBox ID="chkReportView" CssClass="checkbox" runat="server" name="reports"></asp:CheckBox></td>
<td class="small"><asp:CheckBox ID="chkReportPrint" CssClass="checkbox" runat="server" name="reports"></asp:CheckBox></td>
<td class="othr">
<span><input type="checkbox" id="chkReportActivity1" name="reports" /></span>
</td>
</tr>
然后你可以使用这个jQuerycode:
$('.reportModule').click(function () {
var $el = $(this), $parentTR = $el.closest("tr"), checked = $el.is(":checked");
$(".checkbox", $parentTR).attr("checked", checked);
});
此代码使用最接近的tr
元素作为查找相关复选框以进行切换的上下文。