12.09.2022 16:16
1
Kód:
<select onchange="ShowHideDiv(this)" id="paid">
    <option value='1'>paid</option>
    <option value='0'>not paid</option>
</select>

<span id="payment_method">
    <label>cash</label><input type="checkbox" name="payment_method[]" value="1"/> 
    <label>bank</label><input type="checkbox" name="payment_method[]" value="2" />
</span>


<script>
function ShowHideDiv(paid) {
        var payment_method = document.getElementById("payment_method");
        payment_method.style.display = paid.checked ? "inline-block" : "none";
    } 
</script>
Skript mi má zobrazit div podle toho, co si uživatel vybral. Jestli vybral paid, tak se mi zobrazí div, jestli not paid, tak se nezobrazí. Když si uživatel vybere not paid, tak se div neukáže, ale když si znovu vybere paid, tak se mi to už nezobrazí.

Kdybych místo selectu dal checkbox a onclick, tak mi to funguje dobře. Nevíte, kde je chyba?

edit: aha, uz to vidim - payment_method.style.display = paid.checked ? "inline-block" : "none";