我正在使用HTML表格中的输入字段创建基本填字游戏,并希望使用jQuery检查答案是否正确。如果答案是正确的,我还需要打开对话框X,如果答案不正确,我需要打开对话框Y。
以下面的代码片段为例......
<td><input name="r1c1" type="text" id="r1c1-input" maxlength="1"></td>
<td><input name="r1c2" type="text" id="r1c2-input" maxlength="1"></td>
<td><input name="r1c3" type="text" id="r1c3-input" maxlength="1"></td>
<td><input name="r1c4" type="text" id="r1c4-input" maxlength="1"></td>
<td><input name="r1c5" type="text" id="r1c5-input" maxlength="1"></td>
...我如何检查以下内容是否输入了每个字段?
r1c1 = A
r1c2 = B
r1c3 = C
r1c4 = D
r1c5 = E
非常感谢。
答案 0 :(得分:1)
最简单的方法是编写一个使用基本循环并返回布尔值的函数。使用input
获取每个$('#fieldId')
字段的值,将其与预期答案进行比较,然后将下一个操作基于答案检查函数返回的值。根据您的示例代码段,这是一种方法:
var fields = ['r1c1', 'r1c2', 'r1c3', 'r1c4', 'r1c5'],
answers = ['A', 'B', 'C', 'D', 'E'];
var checkAnswers = function(fieldArray, answerArray) {
for (var i = 0; i < fieldArray.length; i += 1) {
if ($('#' + fieldArray[i] + '-input').val() !== answerArray[i]) {
// This field doesn't have the correct answer
return false;
}
}
// Made it all the way through the loop, so all answers match
return true;
}
if (checkAnswers(fields, answers)) {
// dialog X
} else {
// dialog Y
}