javascript - 如何使用 jQuery 在 div 状态内切换复选框?

标签 javascript jquery jquery-events

<table>
 <tbody>
    <tr>
     <td>
       <span>A_Group</span>
        <input type="hidden" value="1" id="ContentPlaceHolder1_rptFleet_hiddenFleetID_0" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$hiddenFleetID">
     </td>
     <td>
       <span name="chkGroupName">
        <input type="checkbox" onclick="jqCheckAll3(ContentPlaceHolder1_rptFleet_chkFleetName_0,1 );" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$chkFleetName" id="ContentPlaceHolder1_rptFleet_chkFleetName_0">
        <label for="ContentPlaceHolder1_rptFleet_chkFleetName_0">Select All</label>
       </span>
    </td>
   </tr>
   <tr>
    <td>
      <div id="1"><table cellspacing="5" cellpadding="5" id="ContentPlaceHolder1_rptFleet_chkListDevice_0">
         <tbody>
           <tr>
               <td>
                   <input type="checkbox" value="1" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$chkListDevice$0" id="ContentPlaceHolder1_rptFleet_chkListDevice_0_0_0">
                   <label for="ContentPlaceHolder1_rptFleet_chkListDevice_0_0_0">name 2</label>
               </td>
               <td>
                  <input type="checkbox" value="2" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$chkListDevice$1" id="ContentPlaceHolder1_rptFleet_chkListDevice_0_1_0">
                  <label for="ContentPlaceHolder1_rptFleet_chkListDevice_0_1_0">name 4</label>
               </td>
               <td>
                   <input type="checkbox" value="3" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$chkListDevice$2" id="ContentPlaceHolder1_rptFleet_chkListDevice_0_2_0">
                   <label for="ContentPlaceHolder1_rptFleet_chkListDevice_0_2_0">name 4</label>
               </td>
             </tr>
         </tbody>
        </table>
       </div>
      </td>
     </tr>
    </tbody>
</table>


function jqCheckAll3(id, pID) {
$("#" + pID + " :checkbox").attr('checked', $('#' + id).is(':checked'));
}

当用户单击复选框全选时,我想选中/取消选中 div=1 内的所有复选框。

最佳答案

需要引用您的 ID,如下:

onclick="jqCheckAll3(ContentPlaceHolder1_rptFleet_chkFleetName_0,1 );

需要:

onclick="jqCheckAll3('ContentPlaceHolder1_rptFleet_chkFleetName_0', '1');

还有其他问题,例如 id="1" 在 HTML4 中无效,但缺少引号引发脚本错误是您当前的问题。

<小时/>

总体上更简单的方法是通过 CssClass 为该复选框提供一个类,例如 class="checkAll",然后您可以这样做:

<script type="text/javascript">
$(function() {
  $("input.checkAll").change(function() {
    $(this).closest("tr").next().find(":checkbox").attr("checked", this.checked);
  });
});
</script>

那么这组代码适用于页面中的所有这些情况(假设标记/布局相同)。

关于javascript - 如何使用 jQuery 在 div 状态内切换复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4372621/

相关文章:

javascript - jquery 滚动到功能不起作用

javascript - 基于 JavaScript 值限制复选框

javascript - 如何将鼠标悬停事件发送到父 div?

javascript - 多次提交jQuery ajax表单

javascript - 多次使用 jquery 对话框,参数略有不同

javascript - 如何从javascript获取文本框的实际值?

javascript - 使用索引从 jQuery 数组返回 jQuery 对象(而不是 DOM)

javascript - 使用 HTML5 在本地写入 CSV 文件

javascript - cordova 内容安全策略给出登录问题

JavaScript/jQuery 优化