Autor | Zpráva | ||
---|---|---|---|
staco Profil |
#1 · Zasláno: 12. 10. 2013, 21:39:37
mam dve polia
$prevadzky_list = array('hruska','jablko'); $zariadenia_list = array('cerstve' ,'pokazene'); prvy select :prevadzky_list" mi dynamicky otvara druhy select" zariadenia_list" prvy sa zobrazi a druhy by som chcel aby mi otvoril len vtedy ked tam bude volba "hruska" Stale mi zobrazuje vsetko aj ked kliknem na " jablko" a kod selectu ktory nerobi to co chcem // osetrenie viditelnosti druheho selectu <tr id="shipping_table" style="display:none;"> <td><label for="zariadenia">Zariadenia*:</label></td> <td><select name="zariadenia[]" id="zariadenia" > <?php //zobrazenie iba ak je vybrane pole" hruska" foreach ($zariadenia_list as $zariadenia) { if (in_array("hruska", $prevazdky_list)) { echo '<option value="' . $zariadenia . '" selected="selected">' . $zariadenia . '</option>'; } else { echo '<option value="' . $zariadenia . '">' . $zariadenia . '</option>'; } } ?> </select></td> </tr> |
||
Tori Profil |
#2 · Zasláno: 13. 10. 2013, 07:46:42
Pokud neplánujete po každé změně prvního selectu odesílat formulář, tak to bude lepší řešit JavaScriptem.
|
||
staco Profil |
#3 · Zasláno: 13. 10. 2013, 10:07:02
Tori:
Dik za opdpoved ! Neplanujem ale vobec neviem ako na to,nakolko my tie selecty uklada do DB inak neviem ci sa dobre rozumieme,viditelnost a odkryvanie mam riesene cez javascript(to mi funguje ,iba to osetrenie aby mi iba ked klikne na hrusky if (in_array("hruska", $prevazdky_list)) nerobi to co ma to je ten js <script type="text/javascript"> window.onload = function() { // Nastavenim schopnosti select zmenit viditelnost tabulky var c = document.getElementById('prevadzky'); c.onchange = toggle_shipping_visibility; } function toggle_shipping_visibility() { var c = document.getElementById('prevadzky'); var t = document.getElementById('shipping_table'); // Aktualizacia zobrazenia tabulky zariadeni t.style.display = (c.selected) ? 'none' : ''; } </script> |
||
Tori Profil |
Máte trochu zmatek v tom, co se kdy a kde provádí. PHP se provede na serveru, poskládá HTML kód stránky, odešle do prohlížeče, a skončí. Ať děláte v prohlížeči cokoli, PHP o tom neví. Až když odešlete formulář, tak v PHP zpracujete odeslané údaje. Naproti tomu JavaScript neví nic o tom, jakým způsobem byl HTML kód stránky vytvořený. Zato může reagovat na to, co v prohlížeči děláte.
Místo tohoto: t.style.display = (c.selected) ? 'none' : ''; by asi mělo být něco jako:
t.style.display = (c.value == 'hruska') ? '' : 'none'; |
||
staco Profil |
#5 · Zasláno: 15. 10. 2013, 10:14:17
Tori:
Dakujem za vysvetlenie to mi je jasne kedy sa co a ako uskutocnuje ,ale zatial to moj problem neriesi ked zostavim nejaky funkcny kod ,ozvem sa terazky na to nemam cas |
||
Časová prodleva: 11 let
|
0