【发布时间】:2023-01-11 02:54:44
【问题描述】:
我在多选中获取所有选定选项时遇到问题
<select multiple="" title="" class="" id="fm_delivery_or_collection" name="fm_fields[fm_delivery_or_collection][]">
<option value="90">Delivery or Collection1</option>
<option value="91">Delivery or Collection2</option>
<option value="92">Delivery or Collection3</option>
</select>
波纹管是我的代码,它只返回我的第一个选择选项
var select = form.find('select')
for (var i = 0; i < select.length; i++)
{
var s_id = jQuery(select[i]).attr('id');
var str="",i;
var e = document.getElementById(s_id);
var strUser = e.options[e.selectedIndex].text;
var name = jQuery(select[i]).attr('name')
var str1 = jQuery(select[i]).attr('id').replace("fm_"," ")
requestString += "<b>"+str1.replace(/_/g," ")+"</b>" + ':' +strUser+"<br>";
}
所以请建议我如何获得所有选定的选项文本以及我在哪里出错?
【问题讨论】:
-
select multiple(或select[select.selectedIndex])的值是一个数组... -
答案过于复杂。您可以使用 .map() 获取所有选定的选项文本。
$("select :selected").map(function (i, element) { return jQuery(element).text(); }).get();
标签: javascript jquery select