根据使用javascript的下拉列表中的选择,更改php中表单的元素

问题描述 投票:1回答:2

我具有根据部门选择以表格形式使用的预定义设备清单。当我选择一个部门时,设备列表需要相应地更改。该脚本似乎根本没有被调用。

在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>
javascript php dropdown
2个回答
0
投票

这里是完整代码

<?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>

0
投票

当您将HTTP请求发送到服务器时,PHP将执行一次。您的javascript和PHP代码之间没有任何关系。

<?php $str_equipment_list = "<script>document.write(equipment_list);</script>"; ?>

因此,您将无法获得上述代码中期望的输出。因为equipment_list是未定义的变量。]​​>

您应该使用forms分配用户在PHP变量上输入的值

© www.soinside.com 2019 - 2024. All rights reserved.