2

HTML:

<label><input type="radio" name="type">Stackoverflow</label>
<label><input type="radio" name="type">Google</label>

jQuery :

$("input:radio").eq(0).attr('checked',true); // Set 1st input checked by jQuery

$("input:radio:not(:checked)").on("click", function(){
      console.log("yes!");
});

演示:http: //jsbin.com/onayec/1/edit

看起来 HTML attrchecked="checked"在单击另一个时不会删除input:radio

我只想检查是否不点击input:radiochecked

4

3 回答 3

3

我认为当单选按钮单击尚未选中时, 使用更改事件而不是单击会触发事件。

$("input:radio").on("change", function(){
      console.log("yes!");
});
于 2013-04-04T07:59:31.383 回答
1

你也可以试试这个:

$('input:radio').click(function () {
    if ($(this).is(':checked')) {
        // do something
        alert('Ckecked');
    }
});
于 2013-04-04T08:05:29.130 回答
1

事件绑定到元素而不是它们的属性,即,当您选择一个元素时,处理程序绑定到该元素,当属性更改时处理程序不会更新,如果您想将点击处理程序绑定到输入元素checked您应该使用事件委托。

但是,这不是单选/复选框输入元素的好例子,您所追求的是一个简单的change事件处理程序。重点是展示事件如何绑定到元素。

于 2013-04-04T08:06:50.093 回答