首页 > 解决方案 > 使用变量传递类名

问题描述

我试图搜索这个但没有得到可行的解决方案,我是 Jquery 的新手,我正在创建多项选择测验,一旦用户选择了一个答案,我想禁用一个问题的单选按钮,我给出了相同的类名到每个输入,当我在下面的代码中使用类名时,我得到了想要的结果。如果类名是 q1。

$(document).ready(function(){
           $(".q1 :input").prop("disabled", true);
          });

我想对多个问题执行此操作,因此当我尝试通过变量传递类名时。

var val1 = $("input[type='radio']:checked").attr('class');

我在变量 val1 中获得了类的名称,但不确定如何在 jquery 中使用它以使上述代码正常工作。有人可以帮助我吗?我在网上尝试了很多解决方案,但都没有奏效。

标签: jqueryhtml

解决方案


如果你想禁用类名的所有输入元素,val1你可以这样做:

$("." + val1).prop("disabled", true);

例子:

$(document).ready(function() {
  $("input").on("click", function() {
    var val1 = $(this).attr('class');
    $("." + val1).prop("disabled", true);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="radio" class="q1"/>Answer 1
<input type="radio" class="q1"/>Answer 2
<input type="radio" class="q1"/>Answer 3<br>
<input type="radio" class="r1"/>Answer 1
<input type="radio" class="r1"/>Answer 2
<input type="radio" class="r1"/>Answer 3


推荐阅读