首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复选框在单选按钮更改事件后未被选中

复选框在单选按钮更改事件后未被选中
EN

Stack Overflow用户
提问于 2017-06-03 06:10:33
回答 2查看 37关注 0票数 2

我有一个复选框和两个单选按钮。在其中一个电台的更改事件中,我正在使复选框的复选属性变为true。它只工作一次。

Demo

复制它的步骤: 1.单击丑陋(选中复选框) 2.取消复选框3.切换丑陋和良好(无效果:(

花了很多时间在这上面,但不知道发生了什么。

EN

回答 2

Stack Overflow用户

发布于 2017-06-03 06:13:58

按以下方式更新代码:

  1. 使用prop()方法而不是attr()方法更新checked属性。
  2. 通常绑定更改事件处理程序,并根据选定的单选按钮值更新属性。

代码语言:javascript
复制
// or select based on the name attribute
// `$('input[type=radio][name="gender"]')`
$('input[type=radio]').on('change', function() {
  $('.xyz').prop('checked', this.value == 'bad');
})
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="vehicle" value="Car" class="xyz"> I have a car<br>


<input type="radio" name="gender" value="good"> Good Oned<br>
<input type="radio" name="gender" value="bad"> Ugly<br>

票数 1
EN

Stack Overflow用户

发布于 2017-06-03 06:14:16

试试看,如果条件.clicked单选按钮值不好,则单击true,否则false出现在选中的attr .You中,应使用prop()方法而不是attr

更新

为什么不工作? 您的选择器是错误的,.you有$('input[type=radio][value = "bad"]') .its只选择值坏单选按钮,而不是两个.So,只有当您单击其他单选按钮时,复选框才没有被选中。

代码语言:javascript
复制
$(document).ready(function() {
  $('input[type=radio]').on('change', function() {
    $('.xyz').prop('checked',   $(this).val().trim() == 'bad');
  })
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script data-require="jquery" data-semver="3.1.1" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<input type="checkbox" name="vehicle" value="Car" class="xyz"> I have a car<br>
<input type="radio" name="gender" value="good"> Good Oned<br>
<input type="radio" name="gender" value="bad"> Ugly<br><br>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44340918

复制
相关文章

相似问题

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