检查多个输入字段jQuery的内容

时间:2013-06-17 15:52:17

标签: jquery crossword

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

非常感谢。

1 个答案:

答案 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
}