当前位置: 首页 > 知识库问答 >
问题:

单选按钮使用jQuery更改类

曹经业
2023-03-14

我有并发布了jQuery代码,用于检查选中了哪一个单选按钮,然后更改其中一些按钮的颜色。此外,我还想在其中一个按钮被按下后禁用这些按钮。我的问题是,当我检查例如'a'时,所有的答案都变成红色,而不是'a'变成绿色,所有其他的都变成红色。

null

  $(function() {
    $('.AncientQ11 [type="radio"]').on('change', function() {

      $(document.getElementById("AncientQ1Ans1"))
        .prev().addClass('green')
        .siblings().addClass('red');

      document.getElementById("AncientQ1Ans1").disabled = true;
      document.getElementById("AncientQ1Ans2").disabled = true;
      document.getElementById("AncientQ1Ans3").disabled = true;
      document.getElementById("AncientQ1Ans4").disabled = true;
    });
  });
.red {color: red;}
.black {color: black;}
.green{color:green;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="AncientQ11">
  <label for="AncientQ1Ans1">A</label><br>
  <input type="radio" id="AncientQ1Ans1" name="AncientQ1">

  <label for="AncientQ1Ans2">B</label><br>
  <!--Solution-->
  <input type="radio" id="AncientQ1Ans2" name="AncientQ1">

  <label for="AncientQ1Ans3">C</label><br>
  <input type="radio" name="AncientQ1" id="AncientQ1Ans3">


  <label for="AncientQ1Ans4">D</label>
  <input type="radio" name="AncientQ1" id="AncientQ1Ans4">
</div>

null

共有1个答案

沃楷
2023-03-14

删除br以将div显示:块一起使用;可以解决您的问题。

但在此之后,如果我选择B、C或D解,只有A是绿色的。这是因为您需要使用$(this)来获取当前元素。

并且我重写了一些部分以与JQuery语法相对应,就像@freedomn-m建议的那样。

null

  $(function() {
    $('.AncientQ11 [type="radio"]').on('change', function() {

      $(this).prev().addClass('green').siblings().addClass('red');

      $("#AncientQ1Ans1").attr("disabled", "disabled");
      $("#AncientQ1Ans2").attr("disabled", "disabled");
      $("#AncientQ1Ans3").attr("disabled", "disabled");
      $("#AncientQ1Ans4").attr("disabled", "disabled");
    });
  });
.red {color: red;}
.black {color: black;}
.green{color:green;}

.AncientQ11 > div{
  display:block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="AncientQ11">
<div>
  <label for="AncientQ1Ans1">A</label>
  <input type="radio" id="AncientQ1Ans1" name="AncientQ1">
  </div>
  <div>
  <label for="AncientQ1Ans2">B</label>
  <input type="radio" id="AncientQ1Ans2" name="AncientQ1">
</div>
<div>
  <label for="AncientQ1Ans3">C</label>
  <input type="radio" name="AncientQ1" id="AncientQ1Ans3">

</div>
<div>
  <label for="AncientQ1Ans4">D</label>
  <input type="radio" name="AncientQ1" id="AncientQ1Ans4">
  </div>
</div>
 类似资料:
  • 在我的项目中,我正在尝试用单选按钮更改src。` 正如你从我的代码中看到的,我正在尝试改变4个SRC。“Imghali”和“Qrimage”正在为我的项目工作。当我检查我的按钮(birinci1和birinci2)“imghali”和“qrimage”时,src正在改变。但是“Arhali”src(AR-Button的src)没有改变。 这里怎么了?任何解决方案或建议都会很好。 我的项目链接 nu

  • 我正在开发一个基于测验的应用程序。将有1个问题和4个选项(单选按钮)。如果用户选择了任何错误的答案,那么我想将单选按钮颜色变为红色。如何做到这一点?

  • 下面是使用引导模板的单选按钮组的代码片段。但我试图做的是每次切换选项时更改单选按钮的类部分(即选中单选按钮时,标签类将为“btn btn primary”,如果未选中,标签类将为“btn btn default”)。有人知道如何做到这一点吗?

  • 问题内容: 有没有一种方法可以控制CSS中单选按钮的大小? 问题答案: 是的,您应该能够像设置任何元素一样设置其高度和宽度。但是,某些浏览器并没有真正考虑这些属性。 如您所见,设置单选按钮的样式并不容易:-D

  • 问题内容: 我尝试用jQuery检查单选按钮。这是我的代码: 和JavaScript: 不起作用: 不起作用: 不起作用: 你还有其他主意吗?我想念什么? 问题答案: 对于等于或大于(> =)1.6的jQuery版本,请使用: 对于(<)1.6之前的版本,请使用: 提示:之后, 您可能还想打电话或单击单选按钮。 查看评论以获取更多信息。

  • 问题内容: 我已经在单选组中动态创建了两个单选按钮,并选中其中一个。我需要在我按下另一个按钮时将其值保存在字符串中。但是我已经为此实现了,但是第一次没有用。这是我的代码。 问题答案: xml文件 Java代码