2013-03-17 53 views
0

所以我有多個div包含相同的HTML結構,類名稱和屬性。除輸出的內容外,它們是相同的。每個div在同一個類中都有一個輸入框。我如何獲得每個輸入框的特定值?我猜測我會使用'this',但我無法弄清楚如何正確使用'this'來獲取每個文本框的具體值。我不想使用它們,因爲它會輸出一組值。使用jQuery獲取'this'輸入框的值?

<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

。每()好像要走的路...你在每個輸入數據做什麼? – tymeJV 2013-03-17 20:42:15

+0

我想輸出數據到'p'同胞元素。 @tymeJV – 2013-03-17 20:49:00

回答

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處理事件的方式來說效果最好。但是我現在需要將值添加到數據庫。 – 2013-03-17 22:38:05

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); 
}):