单选按钮选中属性未设置为false

时间:2017-02-20 06:55:22

标签: javascript jquery

我有2个按钮yesno,我只是在切换它们。

<!DOCTYPE html>
   <html>
      <head>
         <title>Demo Project</title>
      </head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
      <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
      <script src=""></script>
      <script>  
          function enableCheckBoxAndDisableNoRadioButton() {
             $(".checkbox").attr("checked",true);
             $("#no").attr("checked", false);
          }

          function disableCheckBoxAnddisableYesRadioButton() {
             $("#yes").attr("checked", false);
             $(".checkbox").attr("checked",false);
          }
      </script>
      <body>
         <input class="checkbox" type="checkbox" >
         <p>yes <input id="yes" type="radio" onchange="enableCheckBoxAndDisableNoRadioButton()"></p>
         <p> no<input id="no" type="radio" checked=true onchange="disableCheckBoxAnddisableYesRadioButton()"></p>
      </body>
   </html>

当我点击yes时,当时没有取消选择按钮并选中复选框。 但是当我点击no按钮时,该时间复选框被取消选中,但也选择了yes按钮。我想让它取消选择。

让我知道问题是什么。

我在chrome:53.0上运行此代码。

4 个答案:

答案 0 :(得分:5)

使用prop的{​​{1}}个帖子。

attr

Working Fiddle

答案 1 :(得分:1)

代替attr,我将其更改为.prop,现在正在运作。

答案 2 :(得分:0)

.attr 更改为 .prop 然后才有效

答案 3 :(得分:0)

您需要检查我们可以使用的位置 .prop() / .attr()

  

在大多数情况下,请使用.prop()代替.attr()

请参阅下面的一些属性和属性列表:

| **Attribute/Property** | **Attribute**  | Property

| accesskey              |      Yes       |    No
| align                  |      Yes       |    No
| async                  |      Yes       |    Yes
| autofocus              |      Yes       |    Yes
| checked                |      Yes       |    Yes
| class                  |      Yes       |    No
| href                   |      Yes       |    No
| multiple               |      Yes       |    Yes
| readonly               |      Yes       |    Yes

并详细了解.prop() vs .attr()