Autor Zpráva
staco
Profil
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
Pokud neplánujete po každé změně prvního selectu odesílat formulář, tak to bude lepší řešit JavaScriptem.
staco
Profil
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
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: