2013-06-17 2 views
0

HTML 테이블의 입력 필드를 사용하여 기본 크로스 워드를 만들고 jQuery를 사용하여 대답이 올바른지 확인하려고합니다. ...여러 입력 필드의 내용 확인 jQuery

<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> 

을 답이 맞다면 나는 또한 대화 X를 열어야하고, 대답이 잘못된 경우 내가 대화 Y.

예를 들어 아래의 코드를 촬영을 열 필요가 ... 다음 필드가 각 입력란에 입력되었는지 어떻게 확인할 수 있습니까?

R1C1

= A

R1C2 = B

r1c3 = C

r1c4 = D

r1c5 = E

감사드립니다.

+0

여러 검사를 결합하기 위해 '&&'연산자 이외의 다른 연산자를 찾고 계십니까? – Barmar

답변

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 
}