2012-07-03 3 views
1

나는 플러스와 마이너스 기호를 통해 동적으로 추가되는 많은 입력을 가지고 있습니다. 모든 입력은 div encdomlocal에 추가됩니다. 다음 코드를 사용하여 입력을 확인한 다음 css를 추가했지만 예상대로 작동하지 않습니다. 즉 div 안에있는 첫 번째 입력 상자의 유효성 만 검사합니다. 1.7+ jQuery를 사용하여 다음 그밖에 on여러 입력에 대한 유효성 검사

$(document).on('blur','#encdomlocal input:nth-child(2)',function() { 

당신이 수를 사용하는 경우

$('#encdomlocal input:nth-child(2)').blur(function() { 
    var REGEX = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/; 
if (REGEX.test($("#encdomlocal input:nth-child(2)").val())) { 
    $(this).removeClass(); 
    $(this).addClass("good"); 
} 
    else { 
     $(this).removeClass(); 
     $(this).addClass("bad"); 
    } 
}); 

어떤 도움이, 감사 좋은 것

....

+0

'input : nth-child (2)'는 두 번째 입력입니다 ... 안돼요? – Lix

+0

@Lix -': nth-child'는 1에서 0이 아니지만 여전히 문제가 될 수 있다고 생각합니다 ... – nnnnnn

+0

아마도 도움이 될 수 있습니다 : http://api.jquery.com/live/ – Don

답변

1

당신은 당신의 동적으로 생성 된 입력 에 대한 위임 할 필요가 delegate jquery 1.6 이하 사용

$(document).delegate('#encdomlocal input:nth-child(2)','blur',function() { 

document은 어떤 부모 요소로 대체 ​​할 수

UPDATE :

여기
if (REGEX.test($(this).val())) { //<-- I don't know what you were testing but using $(this) works here 
    $(this).removeClass(); 
    $(this).addClass("good"); 
} 
else { 
    $(this).removeClass(); 
    $(this).addClass("bad"); 
} 

http://jsfiddle.net/9DW8f/9/

당신은 당신 때문에 요소의 집합을 반환했다

if (REGEX.test($("#encdomlocal input:nth-child(2)").val())) 

사용하고 업데이트 된 바이올린을의 blur 이벤트를 발생시킨 현재 텍스트 상자를 테스트하지 않았습니다.

jQuery 객체 : 래핑 된 세트 : 선택자는 선택한 래퍼 요소를 모두 포함하는 배열 형 구조 인 "래핑 된 세트"라고하는 jQuery 객체를 반환합니다. 래핑 된 세트를 배열처럼 반복하거나 인덱서 (예 : $ (sel) [0])를 통해 개별 요소에 액세스 할 수 있습니다. 더 중요한 것은 jQuery 함수를 모든 선택된 요소에 적용 할 수 있다는 것이다. <

같은 REGEX를 사용하려는 경우 당신은 그냥 사용할 수있는 쉼표

$("#encdomlocal").on("blur", "input:nth-child(2),otherSelector",//<--- use this if regex for validation is the same 

새 정규식을 사용하는 경우로 구분하여 다른 선택기를 추가 할 수 있습니다

$(document).on('blur','otherSelector',function() { 
    // validation code goes here. You can pretty much copy the other one and change the regex to what you need 
}); 
+0

'$ ("# encdomlocal")에 대해서 ("blur", "input : nth-child (2)", ... ') – nnnnnn

+0

그게 가능합니다 –

+0

고마워, 그러나 ive는 제안을 시도했지만 원하는 결과를 얻지 못했습니다. 여기에서 확인할 수 있습니다 : http://jsfiddle.net/9DW8f/6/ 확인란의 첫 번째 열은 IP (즉, 8.8.8.8)를 기준으로 유효성을 검사해야합니다. – felix001

관련 문제