从动态创建的单选按钮中获取值并存储在数组中
Get value from dynamically created radio button and store in array
我使用 for 循环创建了单选按钮。 10组单选按钮,每组有4个单选按钮。单击提交时,我会在一个数组中获取所有选中的无线电值和存储值。但是,如果没有选中任何一组中的单选按钮,我想,对于那组单选按钮,一个空值将存储在数组中。例如,如果第 1 组中没有选中任何单选按钮,则数组的第 0 个元素应为 null。并且检查的第 2 组无线电值应存储在数组的第 1 个位置。但是我在数组的第 0 个位置得到第 2 个无线电值。 我的代码
<div id='q_body'></div>
<button type='button' id='submit1'>submit</button>
var x=0; var num_of_opt=4;
var opt=new Array('a','b','c','d');
for(var i=0;i<10;i++){
var nw="<div class='q'>("+(i+1)+")";
for(var j=x;j<(x+num_of_opt);j++){ /* create radio */
nw+="<br/><input type='radio' class='radioClass' name='options"+(i+1)+"' value='"+opt[j]+"'/>"+opt[j]+"<br/>";
}
x=j;
nw+="</div>";
$("#q_body").append(nw);
}
我已尝试使用这些代码将无线电值放入数组中:
var i=0,str=''; var arr=new Array();
$("#submit1").click(function(){
$('.radioClass:checked').each(function(j){
arr[i++]=$(this).val();
str+=ans[i-1];
});
console.log(str);
});
如何将 未选中的无线电值设为 null?
试试这个:
var i=0,str=''; var arr=new Array();
$("#submit1").click(function(){
alert($('.radioClass:not(":checked")').map(function(){
return $(this).val();}).get());
});
演示:
我使用 for 循环创建了单选按钮。 10组单选按钮,每组有4个单选按钮。单击提交时,我会在一个数组中获取所有选中的无线电值和存储值。但是,如果没有选中任何一组中的单选按钮,我想,对于那组单选按钮,一个空值将存储在数组中。例如,如果第 1 组中没有选中任何单选按钮,则数组的第 0 个元素应为 null。并且检查的第 2 组无线电值应存储在数组的第 1 个位置。但是我在数组的第 0 个位置得到第 2 个无线电值。 我的代码
<div id='q_body'></div>
<button type='button' id='submit1'>submit</button>
var x=0; var num_of_opt=4;
var opt=new Array('a','b','c','d');
for(var i=0;i<10;i++){
var nw="<div class='q'>("+(i+1)+")";
for(var j=x;j<(x+num_of_opt);j++){ /* create radio */
nw+="<br/><input type='radio' class='radioClass' name='options"+(i+1)+"' value='"+opt[j]+"'/>"+opt[j]+"<br/>";
}
x=j;
nw+="</div>";
$("#q_body").append(nw);
}
我已尝试使用这些代码将无线电值放入数组中:
var i=0,str=''; var arr=new Array();
$("#submit1").click(function(){
$('.radioClass:checked').each(function(j){
arr[i++]=$(this).val();
str+=ans[i-1];
});
console.log(str);
});
如何将 未选中的无线电值设为 null?
试试这个:
var i=0,str=''; var arr=new Array();
$("#submit1").click(function(){
alert($('.radioClass:not(":checked")').map(function(){
return $(this).val();}).get());
});
演示: