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);
});