Как получить значение входного тега при нажатии на изображение, и все значения входного тега отличаются?
<div>
<input type = "text" value = "1" style = "display:" id = "getHeart">
<img src='images/heart.png' id='wishlistRent1' class='wishlist_icon>
</div>
<div>
<input type = "text" value = "2" style = "display:" id = "getHeart">
<img src='images/heart.png' id='wishlistRent1' class='wishlist_icon>
</div>
<div>
<input type = "text" value = "3" style = "display:" id = "getHeart">
<img src='images/heart.png' id='wishlistRent1' class='wishlist_icon>
</div>
<div>
<input type = "text" value = "4" style = "display:" id = "getHeart">
<img src='images/heart.png' id='wishlistRent1' class='wishlist_icon>
</div>
Так связать события?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Во-первых, вы не можете использовать и Id более одного раза. Вы используете идентификатор "getHeart" четыре раза. Во-вторых, чтобы получить значение определенного поля, вы можете сделать что-то вроде:
$("#idOfYourElement").click(function(){
return this.value;
})
Вы можете сделать, как показано ниже, использовать onClick событие и onClick любого image найти input значение этого конкретного изображения:
$("img").click(function(){
console.info($(this).parent().find('input').val());
})<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<div>
<input type = "text" value = "1" style = "display:" id = "getHeart">
<img src = "images/heart.png" id = "wishlistRent1" class = "wishlist_icon">
</div>
<div>
<input type = "text" value = "2" style = "display:" id = "getHeart">
<img src = "images/heart.png" id=
"wishlistRent1" class = "wishlist_icon">
</div>
<div>
<input type = "text" value = "3" style = "display:" id = "getHeart">
<img src = "images/heart.png" id = "wishlistRent1" class = "wishlist_icon">
</div>
<div>
<input type = "text" value = "4" style = "display:" id = "getHeart">
<img src = "images/heart.png" id = "wishlistRent1" class = "wishlist_icon">
</div>Ответы, которые я видел до сих пор, предполагают, что вы хотите использовать jQuery. Если вы хотите использовать ванильный JavaScript, вы можете сделать это следующим образом:
var heartImage = document.getElementById( 'wishlistRent1' );
heartImage.onclick = function() {
console.info( 'Value: ', document.getElementById('getHeart1').value );
};
Также:
Как только вы исправите свой html-скрипт для закрытия запятой после тега класса:
(пример) от class='wishlist_icon> до class='wishlist_icon'>, вы можете сделать следующее, чтобы проверить свои значения:
$(document).ready(function() {
var selectedInput = '';
$('img').click(function() {
selectedInput = $(this).parent().find('input');
alert('Value of selected input = ' + selectedInput.val());
});
});
Точно так же selectedInput.attr('yourInputBoxPropertyHere') можно использовать для получения соответствующего значения, например: selectedInput.attr('id') даст вам идентификатор.
Привет и добро пожаловать в Stackoverflow. У вас несколько ошибок разметки. Каждый идентификатор должен быть уникальным (wishlistRent1 и getHeart должны быть разными для каждого элемента). Ваш тег стиля неполный, а имя вашего класса wishlist_icon нуждается в дополнительной кавычке, чтобы закрыть оператор. Когда все будет исправлено, проверьте функцию jQuery .prev(). Затем опубликуйте код, который вы пробовали, и мы поможем вам.