Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Zaznaczenie pola wyboru i możliwość wybrania z listy
Forum PHP.pl > Forum > Przedszkole
szczabik
Mam formularz na stronie gdzie mam pole wyboru checkbox i chciał bym zrobić tak że jak ktoś zaznaczy to pole wyboru to dopiero po zaznaczeniu może coś wybrać z listy rozwijanej a jak nie zaznaczy to nic nie może wybrać


Wie ktoś jak to zrobić ?
pyro
to Javascript a nie PHP
devnul
  1. <select id="lista" name="lista" disabled="disabled">
  2. <option value="a">a</option>
  3. <option value="b">b</option>
  4. <option value="c">c</option>
  5. <input type="checkbox" name="regulamin" value="1" onchange="document.getElementById('lista').disabled=!this.checked" />
szczabik
Nie działa zaznaczam to pole ale dalej lista jest zablokowana i nie mogę nic wybrać a mam taki kod

  1. <?php
  2. echo "
  3. <select id='lista' name='lista' disabled='disabled'>
  4. <option value='a'>a</option><option value='b'>b</option>
  5. <option value='c'>c</option></select>
  6. <input type='checkbox' name='regulamin' value='1' onchange='document.getElementById('lista').disabled=!this.checked'/>";
  7. ?>
nevt
proszę poprawić [TAG] tematu na prawidłowy - inaczej będę musiał zamknąć wątek - on nie ma n wspólnego z PHP...
devnul
zmieniłeś apostrofy na pojedyncze tam gdzie powinny być podwójne. Wstaw to w samym html bez żadnego echo i będzie działać
szczabik
A jak mam to wkleić w kod php bo mam stronę w php
devnul
zamiast
  1. <?php
  2. echo "coś";
  3. ?>


daj
  1. //jakiś kod php 
  2. ?>
  3. <!--kod html (np ten który Ci podałem)-->
  4. <? //dalszy kod php

lub we zacytuj znaki apostrofu (ważne żeby były takie jak Ci podałem,
zacytować czyli poprzedzić każdy apostrof w echo znakiem \

np
Kod
echo "<input type=\"checkbox\" name=\"cos\" />
szczabik
Zrobiłem tak i nie działa zmienia mi się typ pola
  1. <?php
  2. echo '<select id="lista" name="lista" disabled="disabled">
  3. <option value="a">a</option>
  4. <option value="b">b</option>
  5. <option value="c">c</option></select>
  6. <input type="checkbox" name="regulamin" value="1" onchange="document.getElementById("lista").disabled=!this.checked" />';
  7. ?>


Jak to wygląda można zobaczyć TUTAJ
devnul
dalej robisz inaczej niż ja to wkleiłem dlatego nie działa w onchange wstawiasz uparcie takie same apostrofy jak w tagach html a tak być nie może. Jak już tak się upierasz przy tym html to wstaw sobie to
  1. <?php
  2. echo "<select id=\"lista\" name=\"lista\" disabled=\"disabled\">
  3. <option value=\"a\">a</option>
  4. <option value=\"b\">b</option>
  5. <option value=\"c\">c</option></select>
  6. <input type=\"checkbox\" name=\"regulamin\" value=\"1\" onchange=\"document.getElementById('lista').disabled=!this.checked\" />";
  7. ?>

widzisz spontaniczną różnicę?
szczabik
Dziękuje bardzo działa
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.