Vous devez renommer 'attribut' en 'valeur' dans votre code HTML. Vous pouvez cependant définir vos propres attributs et les lire aussi (si la validation n'est pas un problème, et pour HTML5 vous pouvez préfixer votre attribut personnalisé avec 'data-'). On dirait:
<select id="test">
<option value="1" data-attrib="five">test 1</option>
<option value="2" data-attrib="four">test 2</option>
<option value="3" data-attrib="three">test 3</option>
<option value="4" data-attrib="two">test 4</option>
<option value="5" data-attrib="one">test 5</option>
</select>
maintenant pour cette sélection, vous pouvez obtenir les valeurs des options et des valeurs « attrib » avec quelque chose comme:
function getOpts(){
var mySelect = document.getElementById('test')
, opts = mySelect.options
, results = ''
, i=0
, len = opts.length;
while (i<len){
results += opts[i].getAttribute('data-attrib')+'-'+
(opts[i].selected
? 'selected value: '+opts[i].value
: opts[i].value)+'\n';
i++;
}
return '\n'+results;
}
(Si vous cherchez également la valeur de texte de l'option, vous peut ajouter opts[i].firstChild.nodeValue
à la variable de résultats.)
En note de bas de page, si vous souhaitez définir vos propres attributs, veuillez les préfixer avec 'data-' pour les rendre compatibles HTML5. – alex
donc je peux définir mes propres attributs? –