jquery 中的 .change() 不起作用?

.change() in jquery not working?

我想使三个复选框相互排斥。 我写了下面的代码:

window.jQuery && jQuery(window.parent.document).ready(function() {
$('#id1,#id2,#id3').live('change', function(){
if ($this.prop('checked', true))
$('#id1,#id2,#id3').not(this).prop('checked', false)
})});

我已将此代码放在页面的最底部。 我检查了以下提供的解决方案:HTML <select> JQuery .change not working

在按下复选框之前或之后,我在控制台中没有收到任何错误消息,它似乎不起作用。

我是否需要创建一个单独的函数并将其附加到 HTML 代码中复选框的 "onchange" 事件?

试试这个:

$('#id1, #id2, #id3').on('change', function() {
  console.log("Changed one!");
  if ($(this).prop('checked', true)) {
    $('#id1,#id2,#id3').not(this).prop('checked', false);
  }
});

您的 if 语句后缺少大括号,我将 $this 更改为 $(this)。

这是有效的 fiddle: https://jsfiddle.net/o7wptoca/3/