我知道如何使用jquery在html下拉菜单中获取所选值。
但是,我想在下拉列表中获取所有值的数组(即,包含<option>
中每个<select>
标记的值的数组),无论选择的是什么。这样做的正确方法是什么?
答案 0 :(得分:6)
非常简单,使用一些选择器和$.each
:
$('select#id_of_select_if_you_want option').each(function(idx, val)
{
$(val).val(); // here's the value
$(val).html(); // here's the display text
});
答案 1 :(得分:1)
要根据一组元素获取某个数组,请使用$.map():
var arrayOfValues = $("#mySelect option").map(function() { return this.value; });
答案 2 :(得分:0)
我无法对gilly3发表评论(有声望的人可以提供帮助吗?)。他的回答会给你一个对象字面值,而不是数组。
如果你想要一个值数组,你可以像他建议的那样做一个地图,但是你需要将值附加到列表中。这是我的版本(我确信它可以改进):
var all_values = [];
$('#dropdown option').map( function() {
if (this.value.length) {
all_values.push(this.value)
}
});
看起来,您可以使用gilly3的答案,但是,如果您想将return作为数组实际使用,则需要附加一个.get()方法。
$('#dropdown option').map( function() {return this.value}).get();