抱歉,问题标题含糊不清 - 不确定如何措辞。
基本上,我有以下想要使用 for 循环压缩的 JavaScript。
$('.q1').keyup(function () {
if ($.inArray($(this).val().toLowerCase(), a1) > -1) {
//Stuff
} else {
//Other stuff
};
});
$('.q2').keyup(function () {
if ($.inArray($(this).val().toLowerCase(), a2) > -1) {
//Stuff
} else {
//Other stuff
};
});
您可以看到这两个函数之间的唯一变化是第一个类(.q1 或 .q2)和数组名称(a1 或 a2)。到目前为止,我已经做了以下......
for (var i=1; i<=8; i++) {
$('.q'+i).keyup(function () {
if ($.inArray($(this).val().toLowerCase(), a1) > -1) {
//Stuff
} else {
//Other stuff
};
});
}
您可以看到第一类问题已通过递增 i 变量解决,但我不确定如何在每个循环上更改数组值,使其变为 a1、a2、a3、a4 等。
任何帮助将非常感激。谢谢你。
编辑
a1 和 a2 指的是数组...
var a1 = new Array();
a1[0] = "egypt";
var a2 = new Array();
a2[0] = "brasil";
a2[1] = "brazil";
对于测验的每个答案,我都有一个数组。在每个数组中是每个问题的可能答案。