У меня на странице несколько кнопок с одним и тем же классом. Когда я нажмите на кнопку, я хочу получить значение ближайшего поля ввода (помните, что на моей странице есть несколько полей ввода и кнопок с одинаковыми классами).
У меня есть:
$(".deletepostbutton").click(function() {
var deleteid = $(this).closest('.deleteid').attr('value');
});
<div class="microblogpostactions">
<input type="text" name="deleteid" class="deleteid" value="'.$row['id'].'" />
<a href="Javascript:void[0]" class="deletepostbutton">Delete</a>
</div>
<div class="microblogpostactions">
<input type="text" name="deleteid" class="deleteid" value="'.$row['id'].'" />
<a href="Javascript:void[0]" class="deletepostbutton">Delete</a>
</div>
Как я могу получить значение ближайшего входа и сделать мою переменную равной ему, когда пользователь нажимает на ссылку ????
Используйте .prev()
если вы уверены, что они находятся рядом друг с другом. (Это должно быть быстрее.)
var deleteid = $(this).prev().attr('value');
Это возвращает предыдущий элемент.
Если есть шанс, что между ними будет еще один элемент, вы можете использовать .siblings()
:
var deleteid = $(this).siblings('.deleteid').attr('value');
Это позволит получить все одноуровневые элементы внутри одного и того же deleteid
.