11480 sujets

JavaScript, DOM et API Web HTML5

bonjour,
j'ai 4 listes déroulante sur une page et je voudrais qu'à la sélection d'un item cela lance une fonction javascript sans avoir à créer une fonction à laquelle je ne comprend rien.
j'ai ce code qui tourne bien avec une seule liste, j'avais penser pouvoir m'en servir puisqu'il récupère l’événement click quitte à faire la même fonction pour les 4 listes mais ça ne fonctionne pas Smiley confus
 var texte = 'String'

      document.querySelector("select").addEventListener("change", function() {

          texte=(this.value);

          rechercher();
      }, false);

      function rechercher() {

mes listes ont des id et des noms, mais je ne sais pas comment m'en servir, si je pouvais faire fonctionner le queryselector, se serait l'idéal quitte à mettre tous les choix dans la même fonction ?
Modifié par dmoluc (08 Jul 2018 - 08:45)
Faire un querySelectorAll pour retrouver toutes les balises <select> avec l'attribut name :
const selects = document.querySelectorAll('select[name]');
for (var i=0, iMax=selects.length; i<iMax; i++) {
    selects[i].addEventListener('change', function (event) {
       event.preventDefault();
       rechercher(event.target.name);
   },  false);
}

Modifié par bazooka07 (08 Jul 2018 - 10:17)
dmoluc a écrit :
[...] sans avoir à créer une fonction à laquelle je ne comprend rien. [...]


Salut

@dmoluc changer de forum pour poser des questions, ou poser les mêmes questions sur plusieurs forums ne vous aidera pas à apprendre le JS. Cela vous donnera des interlocuteurs dont la patience est encore intacte, mais cela n'aura qu'un temps.

Personne ne pourra apprendre les bases du JS, du HTML et du CSS à votre place.

Il faut arrêter de penser en VB !

Il faut commencer par l'étude du HTML et du CSS, sinon vous ne comprendrez jamais rien aux sélecteurs CSS utilisés par jQuery ou par querySelector et querySelectorAll en JS.