javascript - 选中另一个复选框时取消选中一个复选框

标签 javascript jquery wordpress checkbox

function uncheck() {
  var notTest = document.getElementById("choice_31_3_2");
  var Test = document.getElementById("choice_31_3_1");

  if (notTest.checked) {
    Test.checked = false;
  }
  if (Test.checked) {
    notTest.checked = false;
  }
}

jQuery("#choice_31_3_1").click(uncheck);
jQuery("#choice_31_3_2").click(uncheck);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>    

<input name="input_3.1" value="Test" id="choice_31_3_1" type="checkbox">
<label for="choice_31_3_1" id="label_31_3_1">Test</label>
<input name="input_3.2" value="notTest" id="choice_31_3_2" type="checkbox">
<label for="choice_31_3_2" id="label_31_3_2">notTest</label>

我写了一个函数来取消选中另一个复选框,我正在使用 jQuery 在这些特定输入上调用 uncheck()。

我得到了我想要的结果。当我检查测试然后检查 notTest 时,测试未被选中。但是当我再次按下测试时,测试复选框拒绝检查,除非我手动取消选中 notTest。

我包含了代码片段,请问有什么问题吗?

代码在 Wordpress 上运行正常,但不幸的是这里不行。

最佳答案

给你一个解决方案

$('input[type="checkbox"]').change(function(){
  console.log($(this).is(':checked'));
  if($(this).is(':checked')){
    $(this).siblings('input[type="checkbox"]').attr('checked', false);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="input_3.1" value="Test" id="choice_31_3_1" type="checkbox">
<label for="choice_31_3_1" id="label_31_3_1">Test</label>
<input name="input_3.2" value="notTest" id="choice_31_3_2" type="checkbox">
<label for="choice_31_3_2" id="label_31_3_2">notTest</label>

希望对您有所帮助。

关于javascript - 选中另一个复选框时取消选中一个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47088994/

相关文章:

php - 在本地计算机之间移动 WP 站点后出现警告

javascript - 如何在 Internet Explorer 中使用 jquery 代码?

javascript - 不同的背景图片jquery mobile

javascript - 在下拉菜单上应用链接但下拉菜单在移动设备上不起作用

jquery - 如何使用 jQuery 和 CSS 更改表格中的特定 td 样式

javascript - jquery给出TypeError从包装集中获取元素

html - 从wordpress更改网站结构

javascript - 如何用momentjs计算每个月的最后一个星期五

javascript - 迁移到 Cucumber 4 时如何返回 Promise?

javascript - wordpress 将变量传递给 javascript