越来越复选框类的名字,当检查只
问题描述:
我有一个包含两个复选框和这样越来越复选框类的名字,当检查只
<p class="text">
<input type="checkbox" value="Yes" id="ques11" name="radiobutton" class="option_1" />
<label for="ques11">True</label>
<span class="hide" id="ans1">Answer: True</span>
<span id="rite11" class="hide"><img class="imgsize" src="images/ans_correct.png"/></span>
<span id="wrong11" class="hide"><img class="imgsize" src="images/ans_wrong.png"/></span> </p>
<p class="text">
<input type="checkbox" value="No" id="ques12" name="radiobutton" class="option_2" />
<label for="ques12">False</label>
<span id="rite12" class="hide"><img class="imgsize" src="images/ans_correct.png"/></span>
<span id="wrong12" class="hide"><img class="imgsize" src="images/ans_wrong.png"/></span> </p>
我已经写好的剧本获得其chekbox检查有类名称的任何HTML代码
$('input[type="checkbox"]').each(function(){
var quesNo = this).closest("div[id^='questionsNo_']").attr('id').split('_');
var chapterId = quesNo[1];
var questionId = quesNo[2];
var optionId = $(this).attr('class').split('_')[1];
...
in var optionId我想得到一个类似的检查,如果我检查第一个复选框,我想从'option_1'得到'1'值,假设我已经检查了第二个复选框,我想从2 'option_2'。只能获取选中复选框的值。
答
就在你循环之前添加一个检查的伪选择:checked
,更多信息here
$('input[type="checkbox"]').each(function(){
var quesNo = $(this).closest("div[id^='questionsNo_']").attr('id').split('_');
var chapterId = quesNo[1];
var questionId = quesNo[2];
var optionId;
if ($(this).is(':checked')) {
optionId = $(this).attr('class').split('_')[1];
} else {
//Else don't set it or do something else for this case
}
});
或者,如果你想要的是在检查现场信息只包括这在你原来的选择,例如。 ...
var selectedNum = $('input[type="checkbox"]:checked').attr('class').split('_')[1]
请注意上面的,如果选择返回多个结果将无法正常工作,在这种情况下,你需要循环或选择你想要得到的一个。
UPDATE
如果你想有一个JSON刚刚创建的变量作为一个对象,并设置它的值从类喜欢在脑子好使
var myJSON = { 'option_id': $('input[type="checkbox"]:checked').attr('class').split('_')[1] };
轴承是你需要的数量以stringify这个对象为它是一个真正的JSON。
如果我想将此值转换为json格式 –
{“option_id”:“2”} –
我已经添加了更新 –