用jQuery获取'this'输入框的值?

时间:2013-03-17 20:39:54

标签: jquery input

所以我有多个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获取每个特定输入元素的值?

3 个答案:

答案 0 :(得分:1)

以下是我如何将每个段落添加到段落中,让我知道它是否有效:http://jsfiddle.net/VtMRx/

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

答案 1 :(得分:0)

使用您当前的结构,prev()应该有效:

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

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

答案 2 :(得分:0)

您可能想要使用.closest

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

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

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