如何检查(动态)检查哪个单选按钮?

时间:2016-10-10 11:00:52

标签: javascript jquery dom

我正在创建一个在线考试门户网站,其中包含向候选人展示问题的代码。我不知道如何处理候选人点击的答案

$("input[name='hello']").click(function(){
    alert("you clicked on");
});

单选按钮动态创建100个问题4个

3 个答案:

答案 0 :(得分:2)

试试这个 -



$('input[data-type=choice]').change(function() {
  var Question = $(this).attr('name');
  var Checked = $(this).attr('value');
  console.log('Selected Choice for ' + Question + ' is ' + Checked);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" value="Log all Answers" onclick="logAllAnswers()">
<input type="button" value="Clear Log" onclick="console.clear();">
<hr>
<form>
  <fieldset>
    <legend>1. Select the answer for the first question.</legend>
    <input type="radio" data-type="choice" name="Q1" value="1">Option 1
    <br>
    <input type="radio" data-type="choice" name="Q1" value="2">Option 2
    <br>
    <input type="radio" data-type="choice" name="Q1" value="3">Option 3
    <br>
    <input type="radio" data-type="choice" name="Q1" value="4">Option 4
  </fieldset>
  <fieldset>
    <legend>2. Select the answer for the second question.</legend>
    <input type="radio" data-type="choice" name="Q2" value="1">Option 1
    <br>
    <input type="radio" data-type="choice" name="Q2" value="2">Option 2
    <br>
    <input type="radio" data-type="choice" name="Q2" value="3">Option 3
    <br>
    <input type="radio" data-type="choice" name="Q2" value="4">Option 4
  </fieldset>
  <fieldset>
    <legend>3. Select the answer for the third question.</legend>
    <input type="radio" data-type="choice" name="Q3" value="1">Option 1
    <br>
    <input type="radio" data-type="choice" name="Q3" value="2">Option 2
    <br>
    <input type="radio" data-type="choice" name="Q3" value="3">Option 3
    <br>
    <input type="radio" data-type="choice" name="Q3" value="4">Option 4
  </fieldset>
</form>



<script>
  function logAllAnswers() {
    $('input[data-type=choice]:checked').each(function() {
      var Question = $(this).attr('name');
      var Checked = $(this).attr('value');
      console.log('Selected Choice for ' + Question + ' is ' + Checked);
    });
  }
</script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

考虑每个选项的值

然后使用它来了解单击哪一个:

def t_elapsed(t, t_init):
    if t < t_init :
        raise ValueError("Given timestamp smaller than initial one")
    else:
        return (t-t_init)/float(1e9)

您可以像这样重写代码:

$("input[name='hello']:checked").val();

答案 2 :(得分:0)

假设你有一个div,每4个框有一个questionWrapper类,你可以这样做:

var collection = $(".questionWrapper");
$.each(collection, function(i, $questionWrapper, function(){
    //Do this for all the questions
    //Find the checked input (maybe use classes here...) and get its value
    var clickedAnswer = $($questionWrapper).find("input:checked").val();
    //Do something with the clicked var, maybe push it to an array and then compare the array to the solution
});