Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Inne zdarzenie zależne od wybrania pola <option>
Forum PHP.pl > Forum > Przedszkole
michal_s
Mam taki kod:
Sprawia on, że jak ktoś zaznaczy checkbox o nazwie jeden to wyświetla się (zmienia display) div dwa.

  1. $('#jeden').click(function(){
  2. $('.dwa').slideToggle('slow');
  3. });


Jak to przerobić, żeby po wybraniu jakiegoś pola option z selecta o nazwie jeden mi sie wyswietlił div dwa ?
klima06
Wykorzystujesz akcję change, a element możesz określić tym wyrażeniem: select[name=jeden].
  1. $('select[name=jeden]').change(function() {
  2. $('.dwa').slideToggle('slow');
  3. });
michal_s
Zdaje się, że nie do końca.
Mam takiego selecta:

  1. <select id="wojewodztwa" name="wojewodztwa">
  2. <option value="dolnoslaskie">dolnośląskie</option>
  3. <option value="kujawsko">kujawsko-pomorskie</option>
  4. <option value="lubelskie">lubelskie</option>
  5. <option value="lubuskie">lubuskie</option>
  6.  
  7. </select>


i potem diva

  1. <div class="dolnoslaskie"> cos tam coś tam </div>


I teraz jak zrobiłem tak:

  1. $('select[name=wojewodztwa]').change(function() {
  2. $('.dolnoslaskie').slideToggle('slow');
  3. });


To za każdą zmianą, jakąkolwiek, wybrania pola w tym select 'wojewodztwa' to na przemian mi sie div pojawiał i znikał.
Jak zrobić, aby po wybraniu dolnoslaskie się div dolnoslaskie pojawiał a np lubuskie to lubuskie?
klima06
Mało dokładnie opisałeś w pierwszym poście co chcesz osiągnąć, z tego co teraz rozumiem to spróbuj to:
  1. $('#wojewodztwa').change(function() {
  2. if($('#wojewodztwa :selected').val() == "dolnoslaskie"){
  3. $('.dolnoslaskie').slideToggle('slow');
  4. }
  5. });
toaspzoo
Kod
$('#wojewodztwa').change(function() {
   if($(this).val()=="dolnoslaskie") { $('.dolnoslaskie').slideDown(); }

   }
});
michal_s
Dzięki Wam obu. Oba rozwiązania działają właściwie tak samo tylko jest jeden mały problem. Zrobiłem to na takiej zasadzie:

  1. $('#wojewodztwa').change(function() {
  2. if($(this).val()=="dolnoslaskie") { $('.dolnoslaskie').slideDown(); }
  3. if($(this).val()=="kujawsko") { $('.kujawsko').slideDown(); }
  4. });


Twój klima06 na takiej samej zasadzie.

Efekt jest taki, że jak zaznaczę <option> 'dolnoslaskie' to faktycznie pojawi się div o takiej nazwie. Ale jak zmienie na inny to tamten nie znika a chodzi o to, aby znikał. Jak potem zmienię na <option value="kujawsko">kujawsko-pomorskie</option> to pojawia się pod divem dolnoslaskie kolejny div 'kujawsko' a rozchodzi się o to, aby tamten znikał a pojawiał się ten...
W tym przykładzie znika kujawsko jak znowu wybiore kujawsko...


Macie jakis genialny pomysł jak to zrobić?

Nadal na nic nie wpadłem. Ktoś mógłby pomóc?
utek44
Hmm, a może jakbyś zrobił po prostu kilka nowych wierszy i kiedy wyskoczy dolnośląskie ustawić funkcję kasuj i wówczas wklejasz to samo tylko już z innym województwem ?
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.