[js] Komunikacja skryptu z rozwijaną listą (ComboBox)


(tomilipin) #1

Witam,

mam skrypt do dynamicznej zmiany tła DIV'a (oryginalnie służył do wgrywania obrazków) na podstawie wybranej opcji z listy rozwijanej. Ze wszystkim sobie poradziłem ale nie mogę obejść sposobu komunikacji skryptu z ComboBox'em, która to odbywa się poprzez 'value'.

Docelowo w liście będzie około 30 opcji - różnych kolorów, gdzie wiele z nich nie ma swojego odpowiednika w JS, np. ChromeGold lub TrYellow. Dlatego w kodzie będę stosować wartości RGB czy HEX dla poszczególnych kolorów. Problemem jest jednak zapisywanie tego do bazy danych. Skoro skrypt odczytuje wartość wpisaną w pole i wykorzystuje ją dalej aby wyświetlić odpowiednie tło DIV'a to będę zmuszony zapisywać w bazie wartości kolorów w HEXie... A tego bardzo chciałbym uniknąć.

Wolałbym, aby wartość 'value' była wolna, nie związana ze skryptem JS od zmiany tła DIV'a tzn. żebym mógł tam wpisywać cyfry - tak będzie mi łatwiej operować na tych danych w PHP (wyszukiwanie, dodawanie, edycja). Kolor żółty-0, czarny-1, niebieski-2 itd.

Próbowałem przestawić skrypt JS tak, aby wyciągał kolorek z 'name' (który do celów testowych dodałem i ustawiłem) ale rozwiązanie takie działało tylko w IE...

Czy istnieje możliwość uwolnienia 'value' od skryptu, tak abym mógł wstawić wartość nie związaną z kolorem?

A może użyć innego skryptu lub zrobić to za pomocą CSSa - ale jak? (pozbycie się JS w tym przypadku byłoby naprawdę super)

Black
Yellow
Blue
Red

' } function domyslna(){ ZmienKolor(tymczasowa.options[tymczasowa.options.selectedIndex].value) } if (ie4||ns6) window.onload=domyslna [/code]