Pergunta muito simples, espero.
Eu tenho a <select>
caixa habitual como esta
<select id="select">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other</option>
</select>
Posso obter o valor selecionado (usando $("#select").val()
) e o valor de exibição do item selecionado (usando $("#select :selected").text()
.
Mas como posso armazenar como um valor adicional na <option>
tag? Eu gostaria de poder fazer algo parecido <option value="3.1" value2="3.2">other</option>
e obter o valor do value2
atributo (que seria 3,2 no exemplo).
javascript
jquery
html
Jim Smith
fonte
fonte
Respostas:
Marcação HTML
Código
Veja isso como uma amostra de trabalho usando jQuery aqui: http://jsfiddle.net/GsdCj/1/
Veja isso como uma amostra de trabalho usando JavaScript simples aqui: http://jsfiddle.net/GsdCj/2/
Usando atributos de dados do HTML5, você pode adicionar dados extras aos elementos de uma maneira sintaticamente válida, que também é facilmente acessível no jQuery.
fonte
getAttribute()
. Eu estava respondendo à sua reivindicação inicial de que minha resposta não funcionaria em todos os navegadores. Eu mantenho minha afirmação de que ele funcionará em navegadores 'all' (para uma definição bastante generosa de 'all' nesse caso). Mostre-me um navegador que suporte jQuery, mas não funcione com esses atributos de dados - mesmo com um doctype não HTML5 - e eu irei comer minhas palavras.Para mim, parece que você deseja criar um novo atributo? Você quer
Para fazer isso, você pode fazer
E então, para recuperá-lo, você pode usar
Não será um código válido, mas acho que funciona.
fonte
Fiz dois exemplos do que acho que sua pergunta pode ser:
http://jsfiddle.net/grdn4/
Verifique isso para armazenar valores adicionais. Ele usa atributos de dados para armazenar o outro valor:
http://jsfiddle.net/27qJP/1/
fonte
Marcação HTML / JSP:
CÓDIGO JQUERY: Evento: alteração
Para ter um elemento libelle.val () ou libelle.text ()
fonte
Para armazenar outro valor nas opções selecionadas:
fonte