Javascript 复选框“全部检查”未正常工作

Javascript 复选框“全部检查”未正常工作,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我有一个表单字段,其中有两个字段,一个包含国家,另一个包含成员资格,并且都有复选框。问题是,我用来选择所有国家的代码(选中/取消选中国家的所有复选框)也会选中或取消选中成员资格字段。我想区分这两者,这样我就只勾选国家,而不勾选“成员资格”字段中的复选框 以下是我正在使用的代码: $("#checkCountries").click(function(){ $('input:checkbox').not(this).prop('checked', this.checked); }); 编辑:

我有一个表单字段,其中有两个字段,一个包含国家,另一个包含成员资格,并且都有复选框。问题是,我用来选择所有国家的代码(选中/取消选中国家的所有复选框)也会选中或取消选中成员资格字段。我想区分这两者,这样我就只勾选国家,而不勾选“成员资格”字段中的复选框

以下是我正在使用的代码:

$("#checkCountries").click(function(){
  $('input:checkbox').not(this).prop('checked', this.checked);
});
编辑:HTML部分

<tr>
   <th>Target Memberships</th>
   <td>
      <div class="target-memberships col-sm-8">
      <input type="checkbox" value="1" name="memberships[]" checked> Standard<br>
      <input type="checkbox" value="2" name="memberships[]" checked> Premium<br>
      <input type="checkbox" value="3" name="memberships[]" checked> Elite<br>
      </div>
   </td>
</tr>
<tr>
   <th>Target Countries</th>
   <td>
       <input type="checkbox" id="checkCountries" checked> Select All<br>
       <div class="target-countries col-sm-8">
         <input type="checkbox" name="country[]" id="country" value="Afghanistan" checked> Afghanistan<br>
         <input type="checkbox" name="country[]" id="country" value="Albania" checked> Albania<br>
         <input type="checkbox" name="country[]" id="country" value="Algeria" checked> Algeria<br>
         <input type="checkbox" name="country[]" id="country" value="American Samoa" checked> American Samoa<br>
         <input type="checkbox" name="country[]" id="country" value="Andorra" checked> Andorra<br>
         <input type="checkbox" name="country[]" id="country" value="Angola" checked> Angola<br>
       </div>
   </td>
</tr>

目标会员资格
标准
溢价
精英
目标国家 选择全部
阿富汗
阿尔巴尼亚
阿尔及利亚
美属萨摩亚
安道尔
安哥拉

在这里,
input:checkbox
使代码在页面中的所有复选框上工作。我认为我需要改变这一点,使其仅适用于特定领域(国家)。请帮助。

如果您的HTML如下所示:

<input type="checkbox" id="checkCountries" checked="checked"> Select All<br>
<div class="target-countries col-sm-8">
  <input type="checkbox" name="country[]" id="country-1" value="Afghanistan" checked="checked" /> Afghanistan<br>
  <input type="checkbox" name="country[]" id="country-2" value="Albania"  checked="checked" /> Albania<br>
  <input type="checkbox" name="country[]" id="country-3" value="Algeria"  checked="checked" /> Algeria<br>
  <input type="checkbox" name="country[]" id="country-4" value="American Samoa" checked="checked" /> American Samoa<br>
  <input type="checkbox" name="country[]" id="country-5" value="Andorra"  checked="checked" /> Andorra<br>
  <input type="checkbox" name="country[]" id="country-6" value="Angola"  checked="checked" /> Angola<br>
 </div>
这将针对类别选择器
目标国家/地区
,以及其中类型为
复选框的
输入
元素。然后,它将设置属性
checked
,以匹配当前复选框的值

工作代码段:

$(函数(){
$(“#检查国家”)。单击(函数(){
$(“.target countries input[type='checkbox']”).prop(“选中的”),$(this.prop(“选中的”);
});
});
。目标国家{
保证金:3倍;
边框:1px实心#CCC;
}

选择全部
阿富汗
阿尔巴尼亚
阿尔及利亚
美属萨摩亚
安道尔
安哥拉

请创建一个代码片段,显示此代码是否正常工作。您可以在问题中构建一个(单击“代码段”按钮),或者使用“显示相关的
HTML
@cale\b我已更新了HTML部分”。。请看一下..@Ivan86我已经更新了HTML部分。。请看一看..哦,糟了。。那很容易。。。。我一看到最新的答案,就诅咒自己没有得到答案。。那太简单了。。。但是我仍然使用
$('.target countries input:checkbox')。而不是(this.prop('checked',this.checked))我只是添加了类,而不是整个更改。。工作谢谢:)是的,我现在还没有使用这个ID字段,所以现在不用担心它是否唯一:)@Kanishk我想如果你搜索so或Google,你会找到它的。这很简单,所以我想回答它,而不是投票结束它。总是在询问之前搜索。我搜索了相同的内容,但我发现结果与我搜索的内容不匹配。在这里问一个问题并等待答案需要很多时间。所以,在我决定最终创建自己的搜索引擎之前,我会在谷歌上搜索。我总是把问题当作最后的选择,因为在昨天之前我没有找到一个与我的问题完全相关的问题/答案,所以我的问题和你的答案会帮助其他人在将来遇到同样的情况时得到解决方案。我真的很感激你花时间回答问题,而不是投票表决。
$("#checkCountries").click(function(){
  $(".target-countries input[type='checkbox']").prop("checked", $(this).prop("checked"));
});