| 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: 13 let
|
|||
0