Javascript 获取所选项目的值
我有两种答案:Javascript 获取所选项目的值,javascript,jquery,Javascript,Jquery,我有两种答案:final和draft。还有两种可能的预定义答案类型:单选(单选按钮)和多选(复选框)。我想做的是使用一个jQuery函数,通过将它们连接到一个字符串变量中来查看和选择答案。然后我将进一步处理这个变量 以下是所做工作的片段: 函数更新SelectedAnswer(id,answerType){ var结果,selAnswers=[]; 如果(应答类型=='final'){ var i=0; $('#PossibleChoices_u'+id).children('checkbox
final
和draft
。还有两种可能的预定义答案类型:单选(单选按钮)
和多选(复选框)
。我想做的是使用一个jQuery
函数,通过将它们连接到一个字符串变量中来查看和选择答案。然后我将进一步处理这个变量
以下是所做工作的片段:
函数更新SelectedAnswer(id,answerType){
var结果,selAnswers=[];
如果(应答类型=='final'){
var i=0;
$('#PossibleChoices_u'+id).children('checkbox').each(function(){
如果($('finalMultiChoice_'+id.).is(“:checked”)|$('finalSingleChoice_'+id.)is(“:checked”)){
selAnswers[i]=$(this.find('span').val();
i++;
}
});
}
否则{
var i=0;
$('#PossibleChoices_u'+id).children('checkbox').each(function(){
如果($('draftMultiChoice_'+id.).is(“:checked”)| |$('draftSingleChoice_'+id.)is(“:checked”)){
selAnswers[i]=$(this.find('span').val();
i++;
}
});
}
结果=selAnswers.join(“#”);
}
最终单曲:
选择1
选择2
选择3
草案单一:
选择1
选择2
选择3
最终倍数:
选项1m
选项2m
选项3m
草案倍数:
选项1m
选项2m
选项3m
首先,ID
s在您的DOM
上必须是唯一的,然后选择一个类型为radio
且具有指定名称的输入,您可以使用它
$("input[type='radio'][name='finalSingleChoice_10']")
下面是一个演示如何做到这一点
$(“.test”)。单击(函数(){
var val1=$(“输入[type='radio'][name='finalSingleChoice_10']:选中”).val();
var val2=$(“输入[type='radio'][name='draftSingleChoice_10']:选中”).val();
console.log(val1+“”+val2)
})
最终单曲:
选择1
选择2
选择3
草案单一:
选择1
选择2
选择3
测试
我试图简化您的代码
- 我删除了所有的
s,并添加了id
和自定义属性class=“question”
和qnum
(问题编号和类型)qtype
- 我使用
轻松管理刚刚更改的元素的目标$(this)
//使用类'question'使其更简单,
$('.question')。关于('change',function()){
var结果=[];
//获取我在HTML中添加的属性
var qnum=$(this.attr('qnum');
var qtype=$(this.attr('qtype');
//对已更改的元素中检查的所有输入执行某些操作
$(this).find(“输入:选中”).each(函数(i,elm){
结果[i]=$(elm).sibbines('span').html();
});
result=result.join(“#”);
//输出
console.clear();
log(qtype,qnum,'更新为:',结果);
});代码>
最终单曲:
选择1
选择2
选择3
草案单一:
选择1
选择2
选择3
最终倍数:
选项1m
选项2m
选项3m
草案倍数:
选项1m
选项2m
选项3m
ID
s在您的页面上必须是唯一的ID
应该是唯一的。ID的唯一性同样没有帮助well@tolik,即使没有帮助,它也必须是独一无二的。无论如何,我为您添加了一个答案,我没有使用任何id
!