<fieldset>
<legend>Available Areas</legend>
<select id="availableAreas">
<?php
$sql = "SELECT * FROM workArea";
$result = $db->query($sql);
while ($row = $result->fetch_assoc()) {
$id = $row['id'];
$area = $row['name'];
echo "<option value='$id'>$area</option>";
}
?>
</select>
<input id="addArea" type="button" value="Add area" /><br />
<select id="workAreas" style="min-width: 200px" required multiple name="workAreaId"></select>
</fieldset>
上面的代码产生了这个输出:
我还没有放入JavaScript,因为它与问题无关,只需点击“添加区域”即可。将该区域添加到<select>
元素(下拉列表下方的多个列表)。
当用户提交表单时,我需要发送用户添加到列表中的所有<option>
个。有没有办法可以做到这一点?
由于
答案 0 :(得分:2)
假设您使用的是jQuery:
$('#yourForm').submit(function() {
$('#workAreas option').prop('selected', 'selected');
});
这应该在提交表单时选择多个选择中的所有项目。
另一种选择是为每个选项添加隐藏的输入字段。当您将[]
添加到字段名称时,它将在服务器端以阵列形式提供。
<input type="hidden" name="workareas[]" value="X" />