javascript - 更改事件的复选框在 Safari 上不起作用

标签 javascript jquery checkbox safari onchange

预先感谢您对此的帮助。我的页面有一个特殊要求,我需要一个复选框来“充当”单选按钮,因此一次只能选中一个。为了实现这一点,我使用了下面的代码片段”

<script>
$('input:checkbox').on('change', function() {
  $('input:checked').not($(this)).closest('.w-checkbox').click();
});
</script>

它在 Chrome 上完美运行。然而,它不适用于 Safari,并且允许单击多个复选框。我想知道是否有人对如何解决这个问题有想法,因为我已经尝试了很多替代方案,但不幸的是需要复选框

最佳答案

取消选中复选框的正确方法是更改​​ checked 属性。

$('input:checkbox.w-checkbox').change(function() {
  $('input:checkbox.w-checkbox').not(this).prop('checked', false);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="checkbox" class="w-checkbox" />
<input type="checkbox" class="w-checkbox" />
<input type="checkbox" class="w-checkbox" />

关于javascript - 更改事件的复选框在 Safari 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72921181/

相关文章:

swift - 允许混合状态,但不允许使用 NSButton 单击(复选框)

javascript - 语义 UI,使用 JavaScript 更改类

javascript - 如何使用Javascript在函数内部调用外部库的函数?

jquery - 仅运行事件触发函数一次

jQuery 点击 SlideUp/Down 脚本

javascript - 如何触发选中所有复选框?

javascript - 当两个复选框位于同一页面上使用相同的类名时,如何使用 nightjs 选中我想要的复选框?

javascript - 单击 html 主体上的任意位置会消失的奇怪滞后

javascript - 通过javascript循环上传多个 Canvas 图像

javascript - 想要使用 javascript 或 jquery 添加值并通过单击删除