0

所以我有多个 div 包含相同的 HTML 结构、类名和属性。除了输出的内容外,它们是相同的。每个 div 都有一个具有相同类的输入框。如何获取每个输入框的具体值?我猜我会使用“this”,但我无法弄清楚如何准确使用“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 获取每个特定输入元素的值?

4

3 回答 3

1

这是我将每个附加到段落的方法,如果它有效,请告诉我:http: //jsfiddle.net/VtMRx/

$(".player-input").each(function() {
    //alert(this.value);
    $("#paragraphID").append(this.value + "<br/>");
});
于 2013-03-17T20:57:26.813 回答
0

您可能想使用 .closest

描述:对于集合中的每个元素,通过测试元素本身并向上遍历其在 DOM 树中的祖先来获取与选择器匹配的第一个元素。

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

$('.enter').click(function() {    
    var myVal = $(this).closest('.player-input').val();
    $(this).closest('p').html(myVal);
}):
于 2013-03-17T21:11:30.077 回答
0

使用您当前的结构, prev() 应该可以工作:

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

$('button.enter').click(function() {    
    var myVal = $(this).prev('input.player-input').val();
}):
于 2013-03-17T20:54:39.563 回答