多选择,尝试val(),无法获得值

问题描述:

所以我读了关于这个问题的其他问题,我似乎无法得到它的工作。 我有这样的HTML:多选择,尝试val(),无法获得值

<select name="filter" id="filter" multiple="multiple" data-native-menu="false"> 
    <option>Choose Filter</option> 
    <option value="Matt"> Matt</option> 
    <option value="Brian"> Brian </option> 
    </select> 

然而,使用此代码:

$("#filter").val() 

返回我一个空字符串,即使选择选项。

+0

大声笑你知道这是一个简单的解决方案,当4答案立即弹出。为了记录,如果你需要他们,使用我的建议也可以获取html换行符。 – Lopsided

$('#filter').change(function(){ 
    var selectedValues = $(this).find('option:selected').map(function(){ 
          return this.value; 
         }).get(); 
    console.log(selectedValues); 
}); 

JS Fiddle demo

参考文献:

+0

这工作就像一个魅力!谢啦!!!! – Jivex5k

+0

我绝对高兴;我很高兴得到了帮助! =) –

试试这个

$("#filter option:selected").val(); 
+0

嗯,这将只会返回最上面的选定的值,当两者都被选中。 – Jivex5k

试试这个。

$('option:selected','#filter').html() 
+0

这将返回HTML内容,而不是选项值。在他的例子中,他们碰巧是一样的,但他们通常不是。 – Barmar

+0

@barmar其实好点。我只看了他的写作。当我需要捕获HTML回车时,经常使用.html()。但val html文本innerHTM等...使用任何。 – Lopsided