Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取所选项目的值_Javascript_Jquery - Fatal编程技术网

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



测试
我试图简化您的代码

  • 我删除了所有的
    id
    s,并添加了
    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