Question très simple j'espère.
J'ai la <select>
boîte habituelle comme celle-ci
<select id="select">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other</option>
</select>
Je peux obtenir la valeur sélectionnée (en utilisant $("#select").val()
) et la valeur d'affichage de l'élément sélectionné (en utilisant $("#select :selected").text()
.
Mais comment puis-je stocker comme une valeur supplémentaire dans le <option>
tag? Je voudrais pouvoir faire quelque chose comme <option value="3.1" value2="3.2">other</option>
et obtenir la valeur de l' value2
attribut (qui serait 3,2 dans l'exemple).
javascript
jquery
html
Jim Smith
la source
la source
Réponses:
Balisage HTML
Code
Voir ceci comme un exemple de travail utilisant jQuery ici: http://jsfiddle.net/GsdCj/1/
Voir ceci comme un exemple de travail utilisant du JavaScript brut ici: http://jsfiddle.net/GsdCj/2/
En utilisant des attributs de données HTML5, vous pouvez ajouter des données supplémentaires aux éléments d'une manière syntaxiquement valide qui est également facilement accessible à partir de jQuery.
la source
getAttribute()
. Je répondais à votre affirmation initiale selon laquelle ma réponse ne fonctionnerait pas dans tous les navigateurs. Je maintiens ma déclaration selon laquelle cela fonctionnera dans «tous» les navigateurs (pour une définition assez généreuse de «tous» dans ce cas). Montrez-moi un navigateur qui prend en charge jQuery mais ne fonctionne pas avec ces attributs de données - même avec un doctype non HTML5 - et je mangerai mes mots.Pour moi, il semble que vous vouliez créer un nouvel attribut? Veux-tu
Pour ce faire, vous pouvez faire
Et puis pour le récupérer, vous pouvez utiliser
Ce ne sera pas un code valide, mais je suppose que cela fait le travail.
la source
J'ai fait deux exemples à partir de ce que je pense que votre question pourrait être:
http://jsfiddle.net/grdn4/
Vérifiez ceci pour stocker des valeurs supplémentaires. Il utilise des attributs de données pour stocker l'autre valeur:
http://jsfiddle.net/27qJP/1/
la source
Balisage HTML / JSP:
CODE JQUERY: Événement: changement
Avoir un élément libelle.val () ou libelle.text ()
la source
Pour stocker une autre valeur dans certaines options:
la source