J’ai un bouton qui vient après une entrée dans le code HTML et je veux l’utiliser pour récupérer la valeur de cette entrée et effectuer une action. Le problème auquel je suis confronté est que mon jQuery ne trouve pas cette valeur.
Le HTML:
Le JS:
$('.an-button').click(function() { var inputValue = $('.an-button').prev('.an-input').find('input').val(); window.open('http://a810-bisweb.nyc.gov/bisweb/JobsQueryByNumberServlet?passjobnumber='+inputValue+'&passdocnumber=&go10=+GO+&requestid=0'); });
Remontez le DOM avec le closest
:
var inputValue = $('.an-button').closest('div').find('input').val();
Violon
Essayez de supprimer .find('input')
, car .prev(".an-input")
devrait renvoyer input
élément input
. Notez également que la est à fermeture automatique
$(".an-button").click(function() { var inputValue = $(this).prev(".an-input").val(); console.log(inputValue) //window.open('http://a810-bisweb.nyc.gov/bisweb/JobsQueryByNumberServlet?passjobnumber='+inputValue+'&passdocnumber=&go10=+GO+&requestid=0'); });
Pour cibler un frère, il doit être de type similaire.
Essayez ceci à la place:
$('.an-button').click(function() { var inputValue = $('.an-button').parent().find('.an-input').val(); window.open('http://a810-bisweb.nyc.gov/bisweb/JobsQueryByNumberServlet?passjobnumber='+inputValue+'&passdocnumber=&go10=+GO+&requestid=0'); });
$('button.an-button').click(function() { var inputValue = $('.an-input:text').val(); ... rest of code })
L’élément d’entrée n’a pas de balise de fin
plus d’informations ici
le correct est