根据单选按钮选择设置隐藏的输入值

时间:2016-11-21 08:51:30

标签: javascript jquery forms

我有一个清单表格,根据工作正常的单选按钮选项计算得分。当我发布表单时,我希望得到一个"是"或"不"来自基于单选按钮选择的相同类的隐藏输入。

因为"值"字段由一个整数占用,用于评分我想将值传递给具有相同类名的隐藏表单输入。隐藏输入的值将是" no"如果所选单选按钮的值为0,否则它将是"是"。

我希望能够通过所有无线电输入组(有很多)进行迭代。这就是我试图用英文写的jquery:

对于每个无线电输入组,如果选择的单选按钮的值为0,则具有相同类别的隐藏输入的值为&#34;否&#34;,ELSE它是&#34;是&#34;。< / p>

我在使用javascript时遇到问题,并希望得到一些帮助。

HTML

<!--Radio button example -->
<li>
    <label>Does 1 + 1 equal 10 ?</label>
    <input type="radio"  class="radio1" name="question" value="1">Yes</input>
    <input type="radio"  class="radio1" name="question" value="0">No</input>
    <input type="hidden" value="" id="answer" class="radio1"></input>
</li>

如果您需要更多信息,请提前告知我们。

3 个答案:

答案 0 :(得分:1)

将JQuery事件附加到radiobutton change

$(document).ready(function() {
    $('input.radio1[type=radio]').change(function() { //change event by class
        if (this.value == '0') {
            $(this.ClassName[type=hidden]).val("No");
        }
        else if (this.value == '1') {
           $(this.ClassName[type=hidden]).val("Yes");
        }
    });
});

此代码可能包含语法错误,请将此视为伪代码并自行动手

答案 1 :(得分:1)

  1. 如果您需要使用答案,请给出答案唯一ID
  2. 如果你将[]添加到问题的名称,PHP会将它们视为数组,你可以使用三元来设置值$ answer = $ question ==&#34; 1&#34;?&#34; YES&#34;:&#34; NO&#34 ;;
  3. 如果您仍然需要使用隐藏字段,这里的代码不会查看ID,而是查看每个LI中字段的名称和类型
  4. &#13;
    &#13;
    $(function() {
      //$("#questionnaire").on("submit", // better but not allowed in the SO snippet
      $("#send").on("click",
        function(e) {
          e.preventDefault(); // remove when tested
          $("#questionnaire ul li").each(function() {
            var $checkedRad = $(this).find('input[name^=question]:checked');
            var $answerField = $(this).find("input[name^=answer]");
            $answerField.val($checkedRad.val()=="0"?"NO":"YES");
          });
        });
    });
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <form id="questionnaire">
      <ul id="questions">
        <li>
          <label>Does 1 + 1 equal 10 ?</label>
          <input type="radio" class="radio" name="question1" value="1">Yes</input>
          <input type="radio" class="radio" name="question1" value="0">No</input>
          <input type="hidden" value="" name="answer1" class="radio"></input>
        </li>
        <li>
          <label>Does 1 + 1 equal 20 ?</label>
          <input type="radio" class="radio" name="question2" value="1">Yes</input>
          <input type="radio" class="radio" name="question2" value="0">No</input>
          <input type="hidden" value="" name="answer2" class="radio"></input>
        </li>
      </ul>
      <button id="send" type="button">Click</button>
    </form>
    &#13;
    &#13;
    &#13;

答案 2 :(得分:0)

kill:
    sudo docker kill $$(sudo docker ps -q)