Mam nadzieję, że bardzo proste pytanie.
Mam takie zwykłe <select>
pudełko
<select id="select">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other</option>
</select>
Mogę uzyskać wybraną wartość (używając $("#select").val()
) i wyświetlaną wartość wybranego elementu (używając $("#select :selected").text()
.
Ale jak mogę przechowywać dodatkową wartość w <option>
tagu? Chciałbym móc zrobić coś podobnego <option value="3.1" value2="3.2">other</option>
i uzyskać wartość value2
atrybutu (w przykładzie byłoby to 3,2).
javascript
jquery
html
Jim Smith
źródło
źródło
Odpowiedzi:
Znaczniki HTML
Kod
Zobacz to jako działający przykład przy użyciu jQuery tutaj: http://jsfiddle.net/GsdCj/1/
Zobacz to jako działający przykład przy użyciu zwykłego JavaScript tutaj: http://jsfiddle.net/GsdCj/2/
Używając atrybutów danych z HTML5, możesz dodawać dodatkowe dane do elementów w sposób poprawny składniowo, który jest również łatwo dostępny z jQuery.
źródło
getAttribute()
. Odpowiadałem na Twoje początkowe twierdzenie, że moja odpowiedź nie będzie działać we wszystkich przeglądarkach. Podtrzymuję moje stwierdzenie, że będzie działać we „wszystkich” przeglądarkach (w tym przypadku dość hojna definicja słowa „wszystkie”). Pokaż przeglądarkę, która obsługuje jQuery, ale nie obsługuje tych atrybutów danych - nawet z dokumentem innym niż HTML5 - a zjem swoje słowa.Dla mnie brzmi to tak, jakbyś chciał utworzyć nowy atrybut? Czy chcesz
Aby to zrobić, możesz to zrobić
A następnie, aby go odzyskać, możesz użyć
To nie będzie prawidłowy kod, ale myślę, że spełnia swoje zadanie.
źródło
Zrobiłem dwa przykłady na podstawie tego, co myślę, że twoje pytanie może brzmieć:
http://jsfiddle.net/grdn4/
Sprawdź to, aby zapisać dodatkowe wartości. Używa atrybutów danych do przechowywania innej wartości:
http://jsfiddle.net/27qJP/1/
źródło
Znaczniki HTML / JSP:
KOD ZAMÓWIENIA: Wydarzenie: zmiana
Aby mieć element libelle.val () lub libelle.text ()
źródło
Aby zapisać inną wartość w wybranych opcjach:
źródło