Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zdarzenie za pomocą pola select-wyświetlenie zawartości DIV
Forum PHP.pl > Forum > Po stronie przeglądarki
peklo
witam
mam taki mały problemik i pytanie. Czy da się zmienic ten skrypcik w ten sposób że gdy warunek jest prawdziwy to pole wyboru select zostaje automatycznie zaznaczone i automatycznie zostaje podpięta i wyswietlona zawartośc DIV.
W tym momencie przy prawdziwym warunku zaznacza mi selecta ale nie wyświetla zawartości DIV. Wyświetla go dopiero po zaznaczeniu pola select. mam taki skrypcik

  1. <div align="left">
  2. <select name="id_lokalizacja" class="style7b" id="id_lokalizacja" onChange="podmiana(this.value);">
  3. <option value="w1">--wybierz--</option>
  4. <option value="w2"<?php if($ogloszenia['id_wojewodztwo']==true) echo " selected=\"selected\""; ?>>w Kraju</option>
  5. <option value="w3"<?php if($ogloszenia['id_kraj']==true) echo " selected=\"selected\""; ?>>za Granicą</option>
  6. </select>
  7. <div id="w1"></div>
  8. <div id="w2">wybrane wojewodztwo</div>
  9. <div id="w3"> wybrany kraj</div>
  10. </div>


Kod
[code]
.hide{
    display:none;
  }
#w1 {
display: block;
}
#w2,#w3 {
display: none;
}
[code]
  function podmiana(co) {
         reset();
                var ile = document.getElementById("id_lokalizacja").options.length;
                for (var i = 1; i <= ile; i++) {
                    var ktora = "w" + i;
                    if (ktora == co) {
                        document.getElementById(ktora).style.display = "block";
                    } else if (ktora != co) {
                        document.getElementById(ktora).style.display = "none";
                    }
                }
            }
            function reset() {
                document.getElementById("id_kraj").value ='';
                document.getElementById("id_wojewodztwo").value ='';
            }



Ewentualnie byc może jest to prościej zrobić za pomocą kontrolek checkbox?
trueblue
Dlaczego masz warunki na id_kraj i id_wojewodztwo z wartością true?

  1. <div<?php if($warunek==true) echo " style=\"display:block;\"";?>></div>
peklo
Bo chcę jesli warunek jest prawdziwy zazanczyć i wyswietlić id_kraj lub id_wojewodztwo
trueblue
No, to musisz porównać wartość z bazy z wartością, którą przyjmuje dany option, a nie z wartością true.
peklo
tzn mam tak
-do bazy dodaje wartość id_wojewodztwo lub id_kraj
- nie dodaje natomiast wartosci w2,w3 czyli czy to wojewodztwo czy tez państwo.

Generalnie skrupt działa w ten sposób ze pokazuje sie kraj lub państwo. i zależy w co klikne to pojawią mi się wojewodztwa lub państwa

czyli oprócz tych dwoch zmiennych id_kraj,id_wojewodztwo musze dodać jeszzce jedna zmienna np wybór która przyjmuje wartości 1 lub 2 tak?
trueblue
Jakie wartości może przyjąć id_kraj, a jakie id_wojewodztwo?
peklo
id_wojewodztwo pobierany jest z tabeli1 i przyjmuje od 1 do 17, natomiast id_kraj z tabeli2 i przyjmuje wartosciod 1-200. Czyli mam rozumiec ,że lepiej jest to zrobić w jednej tabeli tak? i zrobić jedna zmienna np lokalizacja? I wtedy bede mieć od 1 do 217?
trueblue
Zależy czy z tych wartości możesz wywnioskować kiedy lokalizacja leży w Polsce, a kiedy poza.
Możesz?
peklo
musiałbym wtedy zrobić dwa selecty * from jeden do 200 a drugi o 201. No dobra a czy mozna przystosować ten skrypt do tych moich tabel? Przy dodawaaniu formularza wszystko działa ładnie ale juz przy jego edycji juz nie:)
trueblue
Nie możesz zrobić od 201, bo województwa masz numerowane od 1-17.
Jakie wartości przyjmują id_wojewodztwo i id_kraj, dla Polski, a jakie dla zagranicy (w bazie danych)?
peklo
ok dało mi się. Dzięki za pomoc i punkcik dla Ciebie

  1. <div align="left">
  2. <select name="id_lokalizacja" class="style7b" id="id_lokalizacja" onChange="podmiana(this.value);">
  3. <option value="w1">--wybierz--</option>
  4. <option value="w2"<?php if($ogloszenia['id_wojewodztwo']==true) echo " selected=\"selected\""; ?>>w Kraju</option>
  5. <option value="w3"<?php if($ogloszenia['id_kraj']==true) echo " selected=\"selected\""; ?>>za Granicą</option>
  6. </select>
  7. <p> <div id="w1"></div>
  8.  
  9. <div id="w2" <?php if($ogloszenia['id_wojewodztwo']==true) echo " style=\"display:block;\"";?>>
  10. <?php
  11. $lista->wojewodztwo($nazwa_w,$ogloszenia);
  12. ?>
  13. </div>
  14.  
  15. <div id="w3" <?php if($ogloszenia['id_kraj']==true) echo " style=\"display:block;\"";?>>
  16. <?php
  17. $lista->zagranica($nazwa_z,$ogloszenia);
  18. ?>
  19. </div></div>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.