首页 > 解决方案 > 使用 JS 或 JQ 将单选按钮转换为只读(不禁用)

问题描述

我有一个带有三个输入选项的参数作为单选按钮(例如“是”;“否”;“NA”)。我想在不更改原始 HTML 代码的情况下使用 JS 或 Jquery 将其中一个单选按钮(例如,NA)设为只读(不禁用)。谁能帮我?

<fieldset class="form-group radio_buttons optional question_1">
  <div class="form-check">
    <input id="question_1_1" class="form-check-input" type="radio" value="1" name="question_1">
    <label class="form-check-label" for "question_1_1">Yes</label>
  </div>
  <div class="form-check">
    <input id="question_1_2" class="form-check-input" type="radio" value="1" name="question_1">
    <label class="form-check-label" for "question_1_2">No</label>
  </div>
  <div class="form-check">
    <input id="question_1_3" class="form-check-input" type="radio" value="1" name="question_1">
    <label class="form-check-label" for "question_1_3">NA</label>
  </div>
</fieldset>

标签: jqueryradioreadonly

解决方案


<html>
  <body>
  <fieldset class="form-group radio_buttons optional question_1">
  <div class="form-check">
    <input id="question_1_1" class="form-check-input" type="radio" value="1" name="question_1">
    <label class="form-check-label" for "question_1_1">Yes</label>
  </div>
  <div class="form-check">
    <input id="question_1_2" class="form-check-input" type="radio" value="1" name="question_1">
    <label class="form-check-label" for "question_1_2">No</label>
  </div>
  <div class="form-check">
    <input id="question_1_3" class="form-check-input"  onmouseover="setValue(this)" onclick="retainValue(this)" type="radio" value="1" name="question_1">
    <label class="form-check-label" for "question_1_3">NA</label>
  </div>
</fieldset>
   
    <script>
      var checkboxes = {};
      function setValue(el) {
        if(!(el.id in checkboxes))
          checkboxes[el.id] = el.checked;
      }
      function retainValue(el) {
        if(!(el.id in checkboxes))
          checkboxes[el.id] = el.checked;
        el.checked = checkboxes[el.id];
      }
    </script>
  </body>
</html>


推荐阅读