通过表单</option>发送多个<option>

时间:2013-11-26 09:51:53

标签: javascript php html

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

上面的代码产生了这个输出:

enter image description here

我还没有放入JavaScript,因为它与问题无关,只需点击“添加区域”即可。将该区域添加到<select>元素(下拉列表下方的多个列表)。

当用户提交表单时,我需要发送用户添加到列表中的所有<option>个。有没有办法可以做到这一点?

由于

1 个答案:

答案 0 :(得分:2)

假设您使用的是jQuery:

$('#yourForm').submit(function() {
    $('#workAreas option').prop('selected', 'selected');
});

这应该在提交表单时选择多个选择中的所有项目。

另一种选择是为每个选项添加隐藏的输入字段。当您将[]添加到字段名称时,它将在服务器端以阵列形式提供。

<input type="hidden" name="workareas[]" value="X" />