0

我正在使用 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

非常感谢。

4

1 回答 1

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
}
于 2013-06-17T16:05:10.103 回答