keyup上的Jquery检查单选按钮

keyup上的Jquery检查单选按钮,jquery,onkeyup,Jquery,Onkeyup,我有两个单选按钮设置,我想是,如果我将选择是在第一组它应该自动选择其他一个是,这是我的代码 <input type="checkbox" name="saver" value="yes" id="saver"> Yes <input type="checkbox" name="saver" value="no" id="saver"> No <input type="checkbox" name="sendmail" value="yes" id="sendm

我有两个单选按钮设置,我想是,如果我将选择是在第一组它应该自动选择其他一个是,这是我的代码

<input type="checkbox" name="saver" value="yes" id="saver"> Yes 
<input type="checkbox" name="saver" value="no" id="saver"> No 

<input type="checkbox" name="sendmail" value="yes" id="sendmail"> Yes
<input type="checkbox" name="sendmail" value="no" id="sendmail"> No
它会自动选择另一组,但它将变为“否”而不是“是”

请尝试以下操作-

$('#saver').change(function() {
    var checkbox_value = $('#saver:checked').val();

    if (checkbox_value == 'yes') {
        $('input[name="sendmail"][value="yes"]').attr('checked', true);
    }
});
我已将“keyup”事件更改为“change”,但如果您愿意,可以将其更改回“keyup”

正在进行演示-

试试这个-

$('#saver').change(function() {
    var checkbox_value = $('#saver:checked').val();

    if (checkbox_value == 'yes') {
        $('input[name="sendmail"][value="yes"]').attr('checked', true);
    }
});
我已将“keyup”事件更改为“change”,但如果您愿意,可以将其更改回“keyup”


工作演示-

一个ID只能定义一次,您应该使用change而不是keyup

HTML:


ID只能定义一次,您应该使用change而不是keyup

HTML:


您的HTML需要使用唯一的ID

<input type="checkbox" name="saver" value="yes" id="saver-yes"> Yes 
<input type="checkbox" name="saver" value="no" id="saver-no"> No 

<input type="checkbox" name="sendmail" value="yes" id="sendmail-yes"> Yes
<input type="checkbox" name="sendmail" value="no" id="sendmail-no"> No
通过使用change而不是keyup,您还可以对鼠标点击(甚至触摸事件)进行操作


通过引用unique id,您所引用的元素没有歧义,因此jQuery知道操作什么。

您的HTML需要使用unique id

<input type="checkbox" name="saver" value="yes" id="saver-yes"> Yes 
<input type="checkbox" name="saver" value="no" id="saver-no"> No 

<input type="checkbox" name="sendmail" value="yes" id="sendmail-yes"> Yes
<input type="checkbox" name="sendmail" value="no" id="sendmail-no"> No
通过使用change而不是keyup,您还可以对鼠标点击(甚至触摸事件)进行操作

通过引用unique id,您所引用的元素没有歧义,因此jQuery知道操作什么。

有几件事

如果每个复选框组中的值是互斥的,则单选按钮在语义上更为正确

其次,脚本中设置值的部分不仅针对“是”复选框,而且针对整个组-您需要添加另一个过滤器来实现这一点:

$('input[name=“sendmail”][value=“yes”]').attr('checked',true)

如果你把它们作为复选框,你还需要处理取消勾选“否”框的问题。

有几件事

如果每个复选框组中的值是互斥的,则单选按钮在语义上更为正确

其次,脚本中设置值的部分不仅针对“是”复选框,而且针对整个组-您需要添加另一个过滤器来实现这一点:

$('input[name=“sendmail”][value=“yes”]').attr('checked',true)

如果您将它们保留为复选框,您还需要处理取消选中“否”框的问题

<input type="checkbox" name="saver" value="yes" id="saver-yes"> Yes 
<input type="checkbox" name="saver" value="no" id="saver-no"> No 

<input type="checkbox" name="sendmail" value="yes" id="sendmail-yes"> Yes
<input type="checkbox" name="sendmail" value="no" id="sendmail-no"> No
$('#saver-yes').change(function() {

  if($('#saver-yes:checked').val() == 'yes')
     $('#sendmail-yes').attr('checked', true);


});