Construire un tableau d’identifiants de toutes les cases de sélection

J’essaie de convertir un certain nombre de boîtes de sélection pour qu’elles puissent être modifiées à l’aide du fantastique plugin jQuery: https://github.com/indrimuska/jquery-editable-select .

La première étape consiste à obtenir les identifiants de toutes les zones de sélection. De http://jsfiddle.net/49rk6ph7/69/ j’ai essayé ceci mais je ne reçois pas:

[s1,s2] 

Comment puis-je obtenir ce travail?

Le problème avec votre code est parce que vous affectez test au résultat de each() , qui est un object jQuery, pas le tableau que vous avez défini à l’origine. Supprimez simplement test = de cette déclaration.

Notez que vous pouvez également rendre la logique plus succincte en utilisant map() au lieu d’une boucle each() et en supprimant les atsortingbuts périmés on* avec des gestionnaires d’événement JS discrets. Quelque chose comme ça:

 var test = $("select").map(function() { return this.id }).get(); console.log(test); $('#s1, #s2').change(function() { $(this).next().val($(this).val()); }); 
  

Supprimer test = avant votre appel jQuery. Vous écrasez votre tableau de test origine.

C’est tout ce dont vous avez besoin:

 var test = []; $("select").each(function() { test.push($(this).attr("id")); }); console.log(test);