所以我有多个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获取每个特定输入元素的值?
答案 0 :(得分:1)
以下是我如何将每个段落添加到段落中,让我知道它是否有效:http://jsfiddle.net/VtMRx/
$(".player-input").each(function() {
//alert(this.value);
$("#paragraphID").append(this.value + "<br/>");
});
答案 1 :(得分:0)
使用您当前的结构,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);
}):