Cliquez sur le bouton pour obtenir la valeur de l’entrée à proximité?

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