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?
var test = []; test = $("select").each(function() { test.push($(this).attr('id')) }); console.log(test);
115x175 mm 120x160 mm 120x287 mm 115x175 mm 120x160 mm 120x287 mm
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);