我试图在select中提供所有选项,这是html结构:
<select id='selected-service' size='5'>
<option value='13'>Hair</option>
<option value='14'>Color</option>
</select>
码
var available_services = $('#selected-service').find('option:selected', this).map(function ()
{
return this.value;
}).get();
console.log(available_services);
但我得到一个空数组,我做错了什么?
答案 0 :(得分:1)
您尝试仅查找选定的值,并且默认情况下没有选择任何值。
var available_services = $('#selected-service').find('option').map(function ()
{
return this.value;
}).get();
console.log(available_services);
这将为您提供所有选择。
如果您需要在活动中执行此操作,请继续捕捉活动。
$('#selected-service').on('change', function(){
var available_services = $(this).find("option:selected", this).map(function(){
return this.value;
}).get();
console.log(available_services);
});
答案 1 :(得分:1)
:selected
查找所选选项。查找,没有第二个参数。
var available_services = $('#selected-service').find('option').map(function(){
return this.value;
}).get();
console.log(available_services);
答案 2 :(得分:1)
当你需要在select中循环选择选项时,你应该添加多个属性来选择
<select id='selected-service' size='5' multiple>
在js中你可以使用 .each();
var available_services = []
$('#selected-service > option:selected').each(function ()
{
available_services.push($(this).attr('value'));
});
console.log(available_services);