复选框控制单选Checked/Unchecked
Checkboxes control Radio Checked/Unchecked
我有一个带有两个单选按钮的结帐页面,一个用于 'Register Account' 和 'Guest Account' 结帐方法。
我想要一个复选框,当它被选中时,它会检查注册帐户单选按钮,当它未被选中时,它会检查来宾帐户 结帐单选按钮。
到目前为止,这是我的代码:
http://jsfiddle.net/hQbpZ/160/
HTML:
Remember Me for Future Purposes :<input type="checkbox" id="checkbox1"/> <br/><br/>
Register Account :<input type="radio" id="radio1" name="radio"/><br>
Guest Checkout :<input type="radio" id="radio2" name="radio"/><br>
JS:
jQuery('#checkbox1').click(function(){
jQuery('#radio1').attr('checked', true);
});
jQuery('#checkbox1').click(function(){
jQuery('#radio2').attr('checked', false);
});
我关闭了部分功能,但我不知道如何在取消选中复选框时取消选中单选按钮。
你可以这样做:
jQuery('#checkbox1').click(function () {
jQuery('#radio1').prop('checked', $(this).is(':checked'));
jQuery('#radio2').prop('checked', !$(this).is(':checked'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Remember Me for Future Purposes :
<input type="checkbox" id="checkbox1" />
<br/>
<br/>Register Account :
<input type="radio" id="radio1" name="radio" />
<br>Guest Checkout :
<input type="radio" id="radio2" name="radio" />
<br>
只需添加一个切换变量和 link checked 属性即可
http://jsfiddle.net/hQbpZ/163/
var registered = false;
jQuery('#checkbox1').click(function(){
registered = !registered
jQuery('#radio1').attr('checked', registered);
jQuery('#radio2').attr('checked', !registered);
});
手动取消选中单选按钮是不可能的,因为它们不应该以这种方式使用 (read more)。取消选中单选按钮的唯一方法是创建多个共享相同 name
标记的单选按钮,这意味着您的 HTML 已经正确。
您的 JavaScript 确实需要一些改变。没有必要将一个函数两次绑定到同一个事件,因此您可以将其减少为一次绑定。在该绑定中,您检查单击的复选框现在是打开还是关闭,并根据它检查两个单选按钮之一,如下所示:
$('#checkbox1').click(function() {
if($('#checkbox1').prop('checked') === true) {
$('#radio1').attr('checked', true);
} else {
$('#radio2').attr('checked', false);
}
});
我有一个带有两个单选按钮的结帐页面,一个用于 'Register Account' 和 'Guest Account' 结帐方法。
我想要一个复选框,当它被选中时,它会检查注册帐户单选按钮,当它未被选中时,它会检查来宾帐户 结帐单选按钮。
到目前为止,这是我的代码: http://jsfiddle.net/hQbpZ/160/
HTML:
Remember Me for Future Purposes :<input type="checkbox" id="checkbox1"/> <br/><br/>
Register Account :<input type="radio" id="radio1" name="radio"/><br>
Guest Checkout :<input type="radio" id="radio2" name="radio"/><br>
JS:
jQuery('#checkbox1').click(function(){
jQuery('#radio1').attr('checked', true);
});
jQuery('#checkbox1').click(function(){
jQuery('#radio2').attr('checked', false);
});
我关闭了部分功能,但我不知道如何在取消选中复选框时取消选中单选按钮。
你可以这样做:
jQuery('#checkbox1').click(function () {
jQuery('#radio1').prop('checked', $(this).is(':checked'));
jQuery('#radio2').prop('checked', !$(this).is(':checked'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Remember Me for Future Purposes :
<input type="checkbox" id="checkbox1" />
<br/>
<br/>Register Account :
<input type="radio" id="radio1" name="radio" />
<br>Guest Checkout :
<input type="radio" id="radio2" name="radio" />
<br>
只需添加一个切换变量和 link checked 属性即可 http://jsfiddle.net/hQbpZ/163/
var registered = false;
jQuery('#checkbox1').click(function(){
registered = !registered
jQuery('#radio1').attr('checked', registered);
jQuery('#radio2').attr('checked', !registered);
});
手动取消选中单选按钮是不可能的,因为它们不应该以这种方式使用 (read more)。取消选中单选按钮的唯一方法是创建多个共享相同 name
标记的单选按钮,这意味着您的 HTML 已经正确。
您的 JavaScript 确实需要一些改变。没有必要将一个函数两次绑定到同一个事件,因此您可以将其减少为一次绑定。在该绑定中,您检查单击的复选框现在是打开还是关闭,并根据它检查两个单选按钮之一,如下所示:
$('#checkbox1').click(function() {
if($('#checkbox1').prop('checked') === true) {
$('#radio1').attr('checked', true);
} else {
$('#radio2').attr('checked', false);
}
});