首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复选框-控制无线电检查/未选中

问复选框-控制无线电检查/未选中
EN

Stack Overflow用户
提问于 2015-07-20 17:33:14
回答 3查看 654关注 0票数 0

我有一个结帐页面,有两个单选按钮,一个用于“注册帐户”和“来宾帐户”结帐方法。

我想要一个复选框,当它被选中时,它会检查注册帐户单选按钮,当它没有被选中时,它会检查来宾帐户结账单选按钮。

到目前为止,这是我的代码:http://jsfiddle.net/hQbpZ/160/

HTML:

代码语言:javascript
复制
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>

联署材料:

代码语言:javascript
复制
jQuery('#checkbox1').click(function(){
    jQuery('#radio1').attr('checked', true);    
});        

jQuery('#checkbox1').click(function(){       
    jQuery('#radio2').attr('checked', false);  
});  

我有部分功能关闭,但我不知道如何取消选中单选按钮时,复选框未选中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-20 17:38:06

你可以这样做:

​

代码语言:javascript
复制
jQuery('#checkbox1').click(function () {
    jQuery('#radio1').prop('checked', $(this).is(':checked'));
    jQuery('#radio2').prop('checked', !$(this).is(':checked'));
});
代码语言:javascript
复制
<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>

​

票数 1
EN

Stack Overflow用户

发布于 2015-07-20 17:41:31

只需添加一个切换变量并将选中的属性链接到它( http://jsfiddle.net/hQbpZ/163/ )

代码语言:javascript
复制
var registered = false;
jQuery('#checkbox1').click(function(){
     registered = !registered
     jQuery('#radio1').attr('checked', registered); 
     jQuery('#radio2').attr('checked', !registered);  
});        
票数 0
EN

Stack Overflow用户

发布于 2015-07-20 17:45:25

手动取消选中单选按钮是不可能的,因为它们不应该以这种方式使用(read more)。取消选中单选按钮的唯一方法是创建多个共享相同name标记的单选按钮,这意味着您的HTML已经正确。

您的JavaScript确实需要进行一些更改。不需要将函数绑定两次到同一个事件,因此可以将其简化为一个绑定。在该绑定中,您将检查单击复选框现在是打开还是关闭,并根据这一点检查两个单选按钮中的一个,如下所示:

代码语言:javascript
复制
$('#checkbox1').click(function() {
    if($('#checkbox1').prop('checked') === true) {
        $('#radio1').attr('checked', true);
    } else {
        $('#radio2').attr('checked', false);
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31522803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档