2012-05-17 5 views
0

jQuery 1.7.1 - 레이블 (class-err)에 대한 입력 텍스트 요소 (class-pr) 및 배열 요소의 배열 수가 있습니다. 텍스트 상자 흐림에 대한 유효성을 검사했으며 텍스트 상자와 연결된 레이블에 오류 메시지를 지정하려고합니다. 다음 jQuery 코드가 작동하지 않습니다.jQuery - 레이블 텍스트 지정

HTML

<tr> 
    <td> 
      <label class="err" style="display: none;" for="prd"></label> 
      <input type="text" class="pr" name="prd" /> 
    </td> 
</tr> 

jQuery를

$("input.pr:text").blur(function(event){ 
    // .... validation code 
    var index = $.inArray(this, $("input.pr:text")); 
    $("label.err")[index].show(); 
    $("label.err")[index].text("Enter a number"); 
}); 

답변

2

하나 라이너 : 아마 더 나은

$('label.err').eq(index).show().text('Enter a number'); 

또는 :

$("input.pr:text").blur(function(event){ 
    $(this).prev('label').show().text("Enter a number"); 
}); 
+0

그것은 작동합니다. 감사. – SyAu

1

인덱스를 사용하여 JQuery와 객체를 참조하면, 그것은 더 이상 JQuery와 객체하지만 일반 DOM 요소 없다. 다음 대신 사용

var el = $($("label.err")[index]); 
el.show(); 
el.text("Enter a number"); 
+0

귀하의 솔루션도 작동합니다. 감사. – SyAu