怎么获取并在页面显示radio单选框的值?

例如,一个表单 type=radio,有A B C D四个选项,当被单击选中一个选项时,怎么用js获取,并在页面显示出来?

<form action="" class="select" name="Form1">
    <div class="radio" >
        <label>
            <input type="radio" name="questionSelect" value="A" />A.
            <span class="question-content">问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题</span>
        </label>
    </div>

    <div class="radio">
        <label>
              <input type="radio" name="questionSelect" value="B"/>B.
              <span class="question-content">问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题</span>
        </label>
    </div>
 </form>
下面是C D

怎么用Js获取被选中的选项,并在一个span里面输出?如

<span>你的答案:</span><span id="answerOrder"></span>

JQuery也行,在网上找了一些代码都不能很好的实现,新手跪求帮助!Orz

阅读 10.6k
4 个回答

这个应该就是你要的效果了,检查选项的checked属性可以判断哪个选项被选中;通过onchange事件绑定即可

<!Doctype html>
    <head>
        <title>js练习</title>
        <meta charset="utf-8">
         <script src="jquery.min.js"></script>
    </head>
    <body>
        <form action="" class="select" name="Form1">
            <div class="radio" >
                <label>
                    <input onchange="setA()" type="radio" name="questionSelect" value="A" />A.
                    <span class="question-content">问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题</span>
                </label>
            </div>

            <div class="radio">
                <label>
                      <input type="radio" name="questionSelect" value="B"/>B.
                      <span class="question-content">问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题问题</span>
                </label>
            </div>
         </form>
         <span>你的答案:</span><span id="answerOrder"></span>
        
    </body>
    <script text="text/javascript">
    //给单选按钮绑定事件
     window.onload=function(){
        var ans = document.getElementsByName("questionSelect");
        for(var i=0;i<ans.length;i++){
            ans[i].onchange=setA;
       }

     }
    //当值改变时把当前选项呈现在指定区域
    function setA(){
         var ans = document.getElementsByName("questionSelect");
         var ord = document.getElementById("answerOrder");
         for(var i=0;i<ans.length;i++)
         if(ans[i].checked==true){
               ord.innerHTML=ans[i].value;
           }
         
 }
    </script>
</html>

检查checked属性
$(this).prop(“checked”)

遍历这个值Form1.questionSelect,找到Form1.questionSelect[i].checked为真的选项,然后获取值Form1.questionSelect[i].value

  <form action="" class="select" name="Form1">
    <div class="radio">
      <label for="">
        <input type="radio" name="questionSelect" value="A" onclick="getValue()">A.
        <span class="question-content">问题问题问题</span>
      </label>
    </div>
    <div class="radio">
      <label for="">
        <input type="radio" name="questionSelect" value="B" onclick="getValue()">B.
        <span class="question-content">问题问题问题</span>
      </label>
    </div>
    <div class="radio">
      <label for="">
        <input type="radio" name="questionSelect" value="C" onclick="getValue()">C.
        <span class="question-content">问题问题问题</span>
      </label>
    </div>
    <div class="radio">
      <label for="">
        <input type="radio" name="questionSelect" value="D" onclick="getValue()">D.
        <span class="question-content">问题问题问题</span>
      </label>
    </div>
  </form>

  <span>你的答案:</span>
  <span id="answerOrder"></span>

  <script>
    function getValue() {
      var ansRadio = document.getElementsByName("questionSelect");
      var ansOrder = document.getElementById("answerOrder");
      for (i = 0; i < ansRadio.length; i++) {
        if (ansRadio[i].checked) {
          ansOrder.innerText = (ansRadio[i].value);
        }
      }
    };
  </script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题