我有一个表单,需要从一个下拉列表中选择多个项目,并在查询中使用它们。我使用了下拉列表的标记,并使用了"multiple"属性来允许多选。我想获取变量/数组中所有选定的项/索引,以便在查询中使用它。我尝试使用document.getElementById("状态选择")。在索引中选择,但我只得到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>";
jQuery :selected
在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>
下面是一个示例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()
生成一个具有选定值的数组