这是我生成动态表单输入的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中获取已检查无线电的值......但它从未奏效。
答案 0 :(得分:1)
我没有
$options
变量,因此我创建了自己的问题 形成模拟你的情况。
要选择radio button
,我们只需使用此jQuery $("input[type=radio]:checked")
,然后我们必须使用函数.each()
检查这些已检查单选按钮的每个人。
以下是您应该做的完整示例:
$("#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;