0

我有一个表单,我需要从一个下拉列表中选择多个项目并在查询中使用它们。我使用了下拉列表的标签,并使用了“multiple”属性来允许多选。我想在一个变量/数组中获取所有选定的项目/索引,以便我可以在查询中使用它。我尝试使用 document.getElementById('statusselect').selectedindex 但我只得到 1 而不是全部。我什至尝试在 jquery 中使用 $('#statusselect option:selected') 但徒劳无功。

这个你能帮我吗!!谢谢你。这是从数据库中获取值的下拉列表的代码。我想通过单击按钮获取变量中的所有选定值。

    echo "<td>Status<br>";
    echo "<select multiple name=\"status\" size=5 id=\"statusselect\">";
    foreach($status_all as $status)
     {
      if (isset($_GET['status']) && $_GET['status'] == $status)
       {
        echo "<option value=\"$status\" selected>".status_in_words($status)."</option>";
       }
      else
       {
        echo "<option value=\"$status\" >".status_in_words($status)."</option>";
       }
      }
    echo "</select>";
    echo "</td>";
4

2 回答 2

0

jQuery :selectedon multiple select 必须使用each来遍历所有元素。正如http://api.jquery.com/selected-selector/建议的那样,使用这个:

<select name="garden" multiple="multiple">
    <option>Flowers</option>
    <option selected="selected">Shrubs</option>
    <option>Trees</option>
    <option selected="selected">Bushes</option>
    <option>Grass</option>
    <option>Dirt</option>
</select>

<script>
$("select option:selected").each(function () {
    // your code
});
</script>
于 2013-07-24T06:34:07.060 回答
0

这是一个示例 HTML:

<select id="multiselect" name="multiselect[]" multiple="multiple" size="5">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
</select>

使用 jQuery:

$("#multiselect").val()

产生具有选定值的数组

于 2013-07-24T06:35:06.350 回答