2013-03-17 4 views
0

그래서 동일한 HTML 구조, 클래스 이름 및 속성을 포함하는 여러 div가 있습니다. 출력되는 내용을 제외하고는 동일합니다. 각 div에는 같은 클래스의 입력 상자가 있습니다. 각 입력 상자의 특정 값을 얻으려면 어떻게해야합니까? 나는 'this'를 사용할 것이라고 추측하고 있지만 'this'를 사용하여 각 텍스트 상자의 특정 값을 얻는 방법을 정확히 알 수는 없습니다. 나는 그것들이 값의 배열을 출력하기 때문에 각각을 사용하고 싶지 않다.'이'입력란의 값을 jQuery로 가져 옵니까?

<div> 
    <input class="player-input" type="text"></input> 
    <button class="enter">Enter</button> 
    <p>Lorem Ipsum<p> 
</div> 

<div> 
    <input class="player-input" type="text"></input> 
    <button class="enter">Enter</button> 
    <p>Lorem Ipsum<p> 
</div> 

가 나는 Meteorjs 및 이벤트과 같이 설정되어 사용하고 있습니다 :

Template.players.events({ 
    'click .enter': function(){ 
      //code 
    }, 
    'keydown .player-input': function(e){ 
     if (e.which == 13){ 
      //code 
     } 
    } 
}); 

어떻게 jQuery로 각각의 특정 입력 요소의 값을 얻을 것인가?

현재의 구조로
+0

.each()는 각 입력의 데이터와 무엇을하고 있는지 ... 길을 가야하는 것 같아? – tymeJV

+0

'p'형제 요소에 데이터를 출력하고 싶습니다. @tymeJV –

답변

0

, 이전()는 작동합니다 : 나는 단락에 각각 추가하는 방법

http://api.jquery.com/prev/ 다음

$('button.enter').click(function() {  
    var myVal = $(this).prev('input.player-input').val(); 
}): 
1

은, 그것은 작동하는지 알려주세요 : http://jsfiddle.net/VtMRx/

$(".player-input").each(function() { 
    //alert(this.value); 
    $("#paragraphID").append(this.value + "<br/>"); 
}); 
+0

이것은 meteorjs로 처리되는 이벤트를 사용하는 방식에서 가장 잘 작동합니다. 그러나 이제는 데이터베이스에 값을 추가해야합니다. –

0

.closest를 사용하는 것이 좋습니다

De scription : 세트의 각 요소에 대해 요소 자체를 테스트하고 DOM 트리에서 조상을 통해 위로 이동하여 선택기와 일치하는 첫 번째 요소를 가져옵니다.

http://api.jquery.com/closest/

$('.enter').click(function() {  
    var myVal = $(this).closest('.player-input').val(); 
    $(this).closest('p').html(myVal); 
}): 
관련 문제