0

1つのチェックボックスがチェックされている場合、他のすべてのチェックボックスをチェックしたい。私のチェックボックスは配列です。1つのチェックボックスがチェックされている場合、その行のすべてのチェックボックスをチェックしたい. 私のコード

<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 という名前のチェックボックスをオンにします。reports という名前のチェックボックスをすべてオンにしたいです。チェックボックス 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);
 });

実行されますが、その行にあるチェックボックスのみをチェックしたいです。

誰かがこれで私を助けてくれますか? ありがとう

4

2 に答える 2

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);    
});
于 2012-04-10T11:06:55.643 に答える
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要素をコンテキストとして使用して、関連するチェックボックスを探して切り替えます。

于 2012-04-10T11:11:49.027 に答える