簡體   English   中英

Javascript function 只工作一次(PHP文件)

[英]Javascript function Only works once (PHP file)

<table class="blueTable">
    <thead>
    <tr>
        <th>kopieer</th>
        <th>Dag</th>
        <th>Openings tijd</th>
        <th>Sluitings tijd</th>
    </tr>
    </thead>
    <tbody>
    <?php $dagen = array("Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag");
    
    foreach ($dagen as $dag) { ?>
        <tr>
            <td>
                <select name="<?= $dag; ?>_kopie" id="<?= $dag; ?>_kopie" onchange="kopie('<?= $dag; ?>');">
                    <option value=""></option>
                    <?php foreach ($dagen as $day) { ?>
                        <option value="<?= $day; ?>"><?= $day; ?></option>
                    <?php } ?>
                </select>
            </td>
            <td><b><?= $dag; ?></b></td>
            <td>
                <?php GetalDropDown(0, 23, $dag . "_open_uur", @$_POST[$dag . "_open_uur"], $_POST[$dag . "_open_uur"], TRUE); ?>:
                <?php GetalDropDown(0, 59, $dag . "_open_minuut", @$_POST[$dag . "_open_minuut"], $_POST[$dag . "_open_minuut"], TRUE); ?>
            </td>
            <td>
                <?php GetalDropDown(0, 23, $dag . "_sluit_uur", @$_POST[$dag . "_sluit_uur"], $_POST[$dag . "_sluit_uur"], TRUE); ?>:
                <?php GetalDropDown(0, 59, $dag . "_sluit_minuut", @$_POST[$dag . "_sluit_minuut"], $_POST[$dag . "_sluit_minuut"], TRUE); ?>
            </td>
        </tr>
        <?php
    }
    ?>
    </tbody>
</table>

<script language="JavaScript">

    function kopie(dag) {
        kopie = dag + "_kopie";
        nieuwe_dag_waarden = document.getElementById(kopie).value;

        array = ["_open_uur", "_open_minuut", "_sluit_uur", "_sluit_minuut"];

        for (index = 0; index < array.length; index++) {
            oud = dag + array[index];
            nieuw = nieuwe_dag_waarden + array[index];
            document.getElementById(oud).value = document.getElementById(nieuw).value;
        }

        document.getElementById(kopie).value = "";
    }

</script>

我第一次更改其中一個 onchange 下拉菜單時它工作正常,但之后 function 在任何 onchange 下拉菜單上都不再觸發。

function 將開口和 sluitings tijd 下拉菜單更改為您選擇的任何一天的值。

如果您選擇星期一作為星期二,則星期二的開盤價和收盤價將更改為星期一的值。

function GetalDropDown($start, $eind, $naam, $selected, $current_value, $metnul=true) {

    echo "\t<select name=\"$naam\" id=\"$naam\" style=\"WIDTH: 65px\"\">\n";
    if ($selected == "") {
         $selected = $current_value;
    }

    echo "\t<option value=\"\" > - </option>\n";
    for ($i = $start; $i <= $eind; $i++) {
        $waarde = $i;
                   
        if (strlen($waarde) == 1 && $metnul == true) {
            $waarde = "0" . $waarde;
        }

        if (strcmp($waarde, $selected) == 0) {
            $aan = "SELECTED";
        } else {
            $aan = "";
        }
        echo "\t<option value=\"" . $waarde . "\" $aan>" . $waarde . "</option>\n";
    }

    echo "</select>\n";
}

我修好了它。 我不得不稍微改變一下kopie function。 我仍然不知道問題出在哪里,但我注意到變量引起了問題。

新科派 function:

function kopie(dag) {
     document.getElementById(dag + "_open_uur").value =  document.getElementById(document.getElementById(dag + "_kopie").value + "_open_uur").value;
     document.getElementById(dag + "_open_minuut").value =  document.getElementById(document.getElementById(dag + "_kopie").value + "_open_minuut").value;
     document.getElementById(dag + "_sluit_uur").value =  document.getElementById(document.getElementById(dag + "_kopie").value + "_sluit_uur").value;
     document.getElementById(dag + "_sluit_minuut").value =  document.getElementById(document.getElementById(dag + "_kopie").value + "_sluit_minuut").value;

     document.getElementById(dag + "_kopie").value = "";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM