J'essaie de définir la couleur d'arrière-plan d'un élément Sélectionnez la couleur d'arrière-plan, il est sélectionné Option comme ceci:YUI3 FF récupérer option sélectionnée et sa propriété background-color
YUI().use('selector-css3', 'node', function(Y) {
function set_color(e) {
this.setStyle('backgroundColor',this.one('option:checked').getStyle('backgroundColor'));
};
Y.on(['available','change'], set_color, '#id_linkcolor');
});
Étrangement fonctionne ce parfaitement dans Chrome. En FF cependant, il semble toujours revenir à une couleur spécifique. Encore plus bizarrement, ceci:
this.setStyle('backgroundColor',this.get('options').item(3).getStyle('backgroundColor');
semble fonctionner. Mais lorsque j'utilise selectedIndex pour récupérer l'option sélectionnée, cela ne fonctionne plus.
Check it out ici: http://jsfiddle.net/9sy02756/4/
Merci!
MISE À JOUR
j'ai décidé d'adopter une approche différente comme ceci:
function set_color(e) {
this.set('className','');
this.addClass('linkcolor_'+this.one('option:checked').get('value'));
};
De cette façon, l'élément parent SELECT obtient simplement attribué la même classe que l'enfant sélectionné OPTION et css prend en charge la du repos. Probablement une solution plus propre de toute façon.
http://jsfiddle.net/9sy02756/6/
Pourquoi ne pas ajouter votre mise à jour comme une réponse au lieu d'une modification? – stiemannkj1
Eh bien, je suppose que je n'ai pas parce que ce n'est pas vraiment une réponse à la question initiale. Ce que je suis toujours curieux au sujet de l'incident. Ma mise à jour est fondamentalement une manière différente d'accomplir ce que je voulais faire depuis le début. –