Javascript 比较输入文本数组控件的值,并使用Jquery为每个数组索引选择选项array control
如何比较每个输入文本的相同索引值并选择控制数组Javascript 比较输入文本数组控件的值,并使用Jquery为每个数组索引选择选项array control,javascript,jquery,arrays,Javascript,Jquery,Arrays,如何比较每个输入文本的相同索引值并选择控制数组 var qtype_array = new Array(); $('select[name="qtype[]"]').each(function(){ qtype_array.push($(this).val()); }); var true_ans_array = new Array(); $('input[name="true_ans[]"]').each(function(){ true_ans_array.push($(
var qtype_array = new Array();
$('select[name="qtype[]"]').each(function(){
qtype_array.push($(this).val());
});
var true_ans_array = new Array();
$('input[name="true_ans[]"]').each(function(){
true_ans_array.push($(this).val().toUpperCase());
});
数组内容:
qtype_array - ["MULTIPLE", "SINGLE","DESC"]
true_ans_array - ["AC", "A", ""]
我想检查,如果在索引0处的qtype_数组中,文本是多个,那么在true_ans_数组的相同索引0处,文本应至少为2个字符,如果qtype_数组中的文本是单个的,那么在相同索引处的true_ans_数组中的文本内容长度应为1,如果在qtype_数组中,如果文本为DESC,则true_ans_数组中的文本内容长度应为0
我正在开发一个在线考试系统
我陷入了困境,想不出解决办法……看看这个,下面是解释:
假设您已经收集了页面中的所有信息,那么应该已经用数据填充了数组qtype_array和true_ans_array
像这样:
var true_ans_array = new Array();
$("input[name='true_ans[]']").each(function(){
true_ans_array.push(this.value);
});
var qtype_array = new Array();
$('select[name="qtype[]"]').each(function(){
qtype_array.push($(this).val());
});
现在两个数组中都有元素。
下一步是遍历所有元素。我假设两个数组的元素数量相同
for (i=0; i < qtype_array.length; i++) {
switch (qtype_array[i]) {
case "MULTIPLE": if (true_ans_array[i].length >= 2)
{alert("it's >= than 2")}
break;
case "SINGLE": if (true_ans_array[i].length == 1)
{alert("it's == to 1")}
break;
case "DESC": if (true_ans_array[i].length == 0)
{alert("it's == to 0")}
break;
default: alert("neither Multiple, Single or Desc");
}
}您可以同时遍历这两个数组,检查它们在每个位置是否具有您期望的值 只需rmember检查两个数组是否具有相同的大小,以及每个位置的值是否相同。null.length将引发错误
for ( var i = 0; i < qtype_array.length; i++ ) {
var q = qtype_array[i];
var a = true_ans_array[i];
switch ( q ) {
case "MULTIPLE":
if ( a.length < 2 ) {
alert('q == "MULTIPLE" but a.length < 2');
}
break;
case "SINGLE":
if ( a.length != 1 ) {
alert('q == "SINGLE" but a.length != 1');
}
break;
case "DESC":
if ( a.length > 0 ) {
alert('q == "DESC" but a.length > 0');
}
break;
default:
alert('q != "MULTIPLE", "SINGLE" and "DESC"');
break;
}
}
我不知道你的答案和我的有什么不同?我想当你发布你的答案时,我还在打我的。哦,好吧。