2010-12-10 2 views
5

У меня есть следующий HTML:JQuery получить предыдущий ввод текста

<div class="active_string"> 
       <input type="text" class="answer" /><div class="images"><img src="/images/myImage.png" alt="" /></div> 
       <a href="" class="check_quest" id="1">Click me</a> 
</div> 
    <div class="active_string"> 
       <input type="text" class="answer" /><div class="images"><img src="/images/myImage.png" alt="" /></div> 
       <a href="" class="check_quest" id="2">Click me</a> 
</div> 

за каждый клик по check_quest Я хочу, чтобы получить значение соответствующего входа. Как я могу это сделать с помощью запроса. I`ve попробовал следующее:

$(this).prev().prev().text() 

, но это один и другие комбинации текста (предыдущая) и Вэл не показывать текст Ive положить в эту TextField.

+0

Спасибо всем. Первый ответ на время публикации/редактирования дал правильный ответ, обозначенный как ответ. Все правильные ответы были поддержаны. Спасибо всем, кто ответил :-) – 2010-12-10 10:23:38

ответ

11

Вы пробовали $(this).prev('input')?

EDIT:

Я имею в виду: $(this).prevAll('input').val().

+0

Да, нет результата, такой же, как пред. – 2010-12-10 10:04:49

3

Попробуйте

$(this).prevAll("input[type=text]").val() 

Live example

+0

вернулся не определен. – 2010-12-10 10:05:49

+0

@ Ярослав: Га! Я набрал «prev», когда имел в виду «prevAll». Исправлена. – 2010-12-10 10:11:04

7

Он должен работать с val().

Вот working demo

Даже работает с

$(this).prevAll("input[type=text]").val() 
0

Попробуйте это:

HTML код

<div class="active_string"> 
    <input type="text" id="answer" /> 
    <div class="images"><img src="/images/myImage.png" alt="" /></div> 
    <a href="" class="check_quest" id="1">Click me</a> 
</div> 

JavaScript

$(".check_quest").click(function(event) 
{ 
    event.preventDefault(); 
    alert ($("#answer").val()) 
});  

Вот рабочий пример: http://jsfiddle.net/tVcKS/

1

Here рабочий пример с двумя входами, которые будут показаны различные значения при нажатии ссылки

2
$(".check_quest").click(function() { 
    var answer = $(this).prevAll("input").first().val(); 
}); 
1

Я думаю

$(this).parent().find('input').val(); 

будет лучшим способом.

Смежные вопросы