我如何通过jQuery传递它的ID来获得一个选择的所有选项?
我只是想获取它们的值,而不是文本。
我如何通过jQuery传递它的ID来获得一个选择的所有选项?
我只是想获取它们的值,而不是文本。
当前回答
$("select#MY_SELECT_ID").find('option').each(function() {
console.log($(this).val());
console.log($(this).text());
});
其他回答
$('select#id').find('option').each(function() {
alert($(this).val());
});
工作示例
最有效的方法是使用$.map()
例子:
var values = $.map($('#selectBox option'), function(ele) {
return ele.value;
});
$("select#MY_SELECT_ID").find('option').each(function() {
console.log($(this).val());
console.log($(this).text());
});
这将把#myselectbox的选项值放入一个整洁的数组中:
// First, get the elements into a list
var options = $('#myselectbox option');
// Next, translate that into an array of just the values
var values = $.map(options, e => $(e).val())
这是一个简单的jQuery脚本:
var items = $("#IDSELECT > option").map(function() {
var opt = {};
opt[$(this).val()] = $(this).text();
return opt;
}).get();
var selectvalues = [];
for(var i = 0; i < items.length; i++) {
for(key in items[i]) {
var id = key;
var text = items[i][key];
item = {}
item ["id"] = id;
item ["text"] = text;
selectvalues.push(item);
}
}
console.log(selectvalues);
copy(selectvalues);
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>