Изменить элементы формы в php на основе выбора из раскрывающегося списка с помощью javascript - PullRequest
1 голос
/ 22 января 2020

У меня есть предварительно определенные списки оборудования, которые будут использоваться в форме, основанной на выборе отдела. Когда я выбрал отдел, список оборудования должен измениться соответственно. Сценарий, кажется, не вызывается вообще.

В HTML:

<select name="department_id" onchange="updateEquipmentList()" >
    <option value="2">Department 2</option>
    <option value="3">Department 3</option>
    <option value="4">Department 4</option>
</select>

В Javascript:

<script>
    function updateEquipmentList()
    {
        var myDepartment = document.getElementById("department_id").value;
        switch(myDepartment){
            case 2:
                equipment_list = <?php echo $equipment_2; ?>
                break;
            case 3:
                equipment_list = <?php echo $equipment_3; ?>
                break;
            case 4:
                equipment_list = <?php echo $equipment_4; ?>
                break;
        }
        <?php $str_equipment_list = "<script>document.write(equipment_list);</script>"; ?>
    }
</script>

1 Ответ

0 голосов
/ 22 января 2020

Вот полный код

<?php
$equipment_2 = 'Hammer';
$equipment_3 = 'Tape';
$equipment_4 = 'Cutter';
?>
<!DOCTYPE html>
<html>
<head></head>

<body>
<div >
    <select id="department_id" name="department" onchange="updateEquipmentList()" >
    <option value="2">Department 2</option>
    <option value="3">Department 3</option>
    <option value="4">Department 4</option>
</select>
</div>


<script>
    function updateEquipmentList()
    {
        var myDepartment = document.getElementById("department_id").value;
        var equipment_list = '';
        switch(myDepartment){
            case '2':
                equipment_list = '<?php echo $equipment_2; ?>';
                break;
            case '3':
                equipment_list = '<?php echo $equipment_3; ?>';
                break;
            case '4':
                equipment_list = '<?php echo $equipment_4; ?>';
                break;
            default:
                equipment_list = 'Nothing';

        }
        document.write(equipment_list);

    }
</script>
</body>
</html>
...