JQuery获取组

时间:2017-09-28 11:54:48

标签: php jquery radio-group

这是我生成动态表单输入的PHP代码

echo '<div class="radio" id="'.$questionID.'">';
foreach ($options as $key => $opt_value) { 
$option_text = $opt_value->option_text;
$question_id = $opt_value->question_id;
$is_correct = $opt_value->is_correct;
$option_id = $opt_value->id;
 echo '<label>
<input type="radio" class="optionChecked" name="optionCheck'.$questionID.'" id="'.$option_id.'" value="'.$option_id.'" data-id="'.$option_id.'" data-title="optionCheck'.$questionID.'"><p>
'.$option_text.'</p>
</label>';  
}
echo '</div>';

我在div中生成单选按钮。问题的每个div和无线电输入都是其可变选项。

JQuery获取每个问题的数据:

function fetchAttempt(){
     var jsonArr = [];
     $('.radio').each(function() {
    var selected_option =  -1;      
    var is_skipped = 1;
    var correct_option = 0;
    var quesId = $(this).attr('id');
     var quesOptns = "optionCheck"+quesId;
    $('.'+questOptns).each(function() {
        if(($(this).val()) == 1){
            correct_option = $(this).attr("id");
        }else{
            correct_option = -1;
        }
         });
jsonArr.push({
            correct_option: correct_option,
            is_skipped: is_skipped,
            correct_option: is_right,
            selected_option: selected_option,
            temp_id: temp_id,
            question_id: quesId
        });
    });
    return JSON.stringify(jsonArr);
}

我挣扎了超过5个小时...仍然无法访问组内的已检查无线电值。

我尝试了所有可能的方法......通过名称在div中获取已检查无线电的值......但它从未奏效。

1 个答案:

答案 0 :(得分:1)

  

我没有$options变量,因此我创建了自己的问题   形成模拟你的情况。

要选择radio button,我们只需使用此jQuery $("input[type=radio]:checked"),然后我们必须使用函数.each()检查这些已检查单选按钮的每个人。

以下是您应该做的完整示例:

&#13;
&#13;
$("#submit").on("click",function(){

$("input[type=radio]:checked").each(function(){
console.log($(this).val());
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="radio" id="form1">
<label>Question 1
<input type="radio" class="optionChecked" name="name1" id="'id1" value="value1" data-id="option1" data-title="question1"></label><br>

<label>Question 2
<input type="radio" class="optionChecked" name="name2" id="'id2" value="value2" data-id="option2" data-title="question2"></label><br>

<label>Question 3
<input type="radio" class="optionChecked" name="name3" id="'id3" value="value3" data-id="option3" data-title="question3"></label><br>

<label>Question 4
<input type="radio" class="optionChecked" name="name4" id="'id4" value="value4" data-id="option4" data-title="question4"></label><br>

<label>Question 5
<input type="radio" class="optionChecked" name="name5" id="'id5" value="value5" data-id="option5" data-title="question5"></label><br>

<button type="button" id="submit"> Submit</button>
</div>
&#13;
&#13;
&#13;