我具有根据部门选择以表格形式使用的预定义设备清单。当我选择一个部门时,设备列表需要相应地更改。该脚本似乎根本没有被调用。
在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>
这里是完整代码
<?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>
当您将HTTP请求发送到服务器时,PHP将执行一次。您的javascript和PHP代码之间没有任何关系。
<?php $str_equipment_list = "<script>document.write(equipment_list);</script>"; ?>
因此,您将无法获得上述代码中期望的输出。因为equipment_list
是未定义的变量。]>
您应该使用forms分配用户在PHP变量上输入的值