Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ CSS _ Lista rozwijalna w której każde pole będzie miało inny kolor.

Napisany przez: aksnet 7.04.2017, 10:05:45

Witam

Potrzebuję użyć listy rozwijalnej w której każde pole będzie miało inny kolor.
Lista ma już kolorki, ale jest jeden problem.:
po wybraniu myszką czegokolwiek z listy kolor tła wybranego elementu zmienia się na biały
(np. wybieram "zablokowany" i po wybraniu kolor tła zmienia się z czerwonego na biały, a nie powinien)

Czy jest na to sposób?

kod:

  1. <http://december.com/html/4/element/select.html clas="select" name="action1">
  2. <http://december.com/html/4/element/option.html value="a" selected="selected" style="background-color:#ffffff;">aktywny - bez komunikatów</http://december.com/html/4/element/option.html>
  3. <http://december.com/html/4/element/option.html value="" style="background-color:#FFD700;">zablokuj po przypomnieniach (po dacie)</http://december.com/html/4/element/option.html>
  4. <http://december.com/html/4/element/option.html value="x" style="background-color:#FF4500;">zablokowany (po dacie)</http://december.com/html/4/element/option.html>
  5. <http://december.com/html/4/element/option.html value="i" style="background-color:#32CD32;">tylko komunikat (po dacie)</http://december.com/html/4/element/option.html>
  6. </http://december.com/html/4/element/select.html>


rozwiązałem to trochę inaczej, może komuś się przyda


  1. <http://december.com/html/4/element/select.html clas="selectrr" name="action[]" onchange="java script:document.getElementById('color_square1').style.backgroundColor=this.options[this.selectedIndex].id;">
  2. <http://december.com/html/4/element/option.html id="" VALUE="a" SELECTED>aktywny - bez komunikatów</http://december.com/html/4/element/option.html>
  3. <http://december.com/html/4/element/option.html id="Yellow" VALUE="">przypomnij i zablokuj (po dacie)</http://december.com/html/4/element/option.html>
  4. <http://december.com/html/4/element/option.html id="Red" VALUE="x">zablokowany (po dacie)</http://december.com/html/4/element/option.html>
  5. <http://december.com/html/4/element/option.html id="LimeGreen" VALUE="i"> tylko komunikat (po dacie)</http://december.com/html/4/element/option.html>
  6. </http://december.com/html/4/element/select.html>
  7. <http://december.com/html/4/element/span.html id="color_square1" style="background-color:; border:thin solid;">&emsp;</http://december.com/html/4/element/span.html>

Napisany przez: czarkowy 8.08.2017, 13:55:12

Cytat(aksnet @ 7.04.2017, 11:05:45 ) *
  1. <http://december.com/html/4/element/select.html clas="selectrr" name="action[]" onchange="java script:document.getElementById('color_square1').style.backgroundColor=this.options[this.selectedIndex].id;">
  2. <http://december.com/html/4/element/option.html id="" VALUE="a" SELECTED>aktywny - bez komunikatów</http://december.com/html/4/element/option.html>
  3. <http://december.com/html/4/element/option.html id="Yellow" VALUE="">przypomnij i zablokuj (po dacie)</http://december.com/html/4/element/option.html>
  4. <http://december.com/html/4/element/option.html id="Red" VALUE="x">zablokowany (po dacie)</http://december.com/html/4/element/option.html>
  5. <http://december.com/html/4/element/option.html id="LimeGreen" VALUE="i"> tylko komunikat (po dacie)</http://december.com/html/4/element/option.html>
  6. </http://december.com/html/4/element/select.html>
  7. <http://december.com/html/4/element/span.html id="color_square1" style="background-color:; border:thin solid;">&emsp;</http://december.com/html/4/element/span.html>


nie miesza się kodu html i javascript ;d

tu masz schludniejsze rozwiązanie:

[JAVASCRIPT] pobierz, plaintext
  1. let selectList = document.querySelector('.select');
  2.  
  3. function changeSelectBg() {
  4. let selectedOption = selectList.options[selectList.selectedIndex];
  5. selectList.style.backgroundColor = selectedOption.style.backgroundColor;
  6. }
  7.  
  8. selectList.addEventListener('change', changeSelectBg, false);
[JAVASCRIPT] pobierz, plaintext




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)