2011-04-25 12 views
0

클래스의 이전 인스턴스에 대한 jquery 선택기, 나는 특정 클래스를 기반으로 텍스트 상자의 값을 읽고 싶습니다. 페이지에 해당 클래스가있는 여러 텍스트 상자가 있으므로 단추 앞에있는 텍스트를 가져 오려고합니다. 참고 : 이것은 직전에는 아니지만 인스턴스를 찾을 때까지 페이지를 검색하고 싶습니다. ,버튼 클릭 이벤트에서

나는이 작업을 수행 할 것 Prev() 생각하지만 텍스트 상자가 하지 형제가 알 수없는 중첩을 가정 할 :first 필터

+0

와 당신이 클래스 하나에 다른 선택기를 사용하는 경우? –

+0

[prevAll()] (http://api.jquery.com/prevAll/)을 사용해 보셨습니까? – Znarkus

답변

3
$(this).prevAll('.class:first'); 

사용 prevAll를 작동하지 않는 것 이것을 시도하십시오 :

$(":button").click(function() { 
    var allElem = $("*"); 
    var buttonIndex = allElem.index(this); 
    var nearest; 
    $(".text").each(function(i, elm) { 
     var index = allElem.index(elm); 
     if (buttonIndex > index) { 
      nearest = elm; 
     } 
    }); 
    alert($(nearest).val()); 
}); 

이것은 ind ex의 요소를 찾은 다음 버튼에 가장 가까운 것을 찾습니다. 나는이 끝내 선택의 일종이 확신, 희망 누군가가 게시 할 예정입니다 그것은 :)

Code example on jsfiddle

+0

이 작동하지 않는 것 같습니다. .i이 선택기의 결과로 파이어 버그를 볼 때 jquery()가 발생합니다. – leora

+0

@ooo 반환 할 jquery를 얻을 _should_합니다. jQuery는 항상 래핑 된 jQuery 객체를 제공한다. 이 피들을 한번보세요 : http://jsfiddle.net/H32gk/ – JohnP

0

관련 문제