Javascript 如何使用jquery将多选下拉列表的所有项(选项)转换为数组
我正在尝试使用jquery将多个select下拉列表值(所有选项)转换为一个数组Javascript 如何使用jquery将多选下拉列表的所有项(选项)转换为数组,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用jquery将多个select下拉列表值(所有选项)转换为一个数组 <select size="10" style="width: 330px;" name="itemList" id="selectedItemLists" multiple="multiple"> <option value="1">value1</option> <option value="2">value2</option
<select size="10" style="width: 330px;" name="itemList"
id="selectedItemLists" multiple="multiple">
<option value="1">value1</option>
<option value="2">value2</option>
<option value="3">value3</option>
<option value="4">value4</option>
</select>
价值1
价值2
价值3
价值4
现在使用jquery如何创建类似数组[0]=value1,数组[1]=value2的数组
请帮我做这件事
提前谢谢。可能类似于:
var options = new Array();
$('#selectedItemLists > option:selected').each(
function(i){
options[i] = $(this).val();
});
针对@mellamokb的评论进行编辑,将jQuery修改为使用
text()
而不是val()
:
参考资料:
- 您也可以使用来完成此任务
var i = $.map($("#selectedItemLists option:selected"), function(elem){
return $(elem).text();
});
jQuery
map
方法在这里很有用
$('select option').map(function(index, elem){
return $(elem).text();
});
(Mark抢先告诉了我,但我的使用了收集的
map
方法,而不是“静态”jQuery.map函数。当然,两者都很好。)所有选项,或者所有选择的选项?+1从技术上讲,对于OP的要求,我想您需要.text()
我认为在JavaScript中初始化数组的首选方法是[]
,而不是new array()
:
$('select option').map(function(index, elem){
return $(elem).text();
});