如何使用jQuery从owner
获取所有选定的选项?
<select>
我试过了<select id="mySelector" ... >
<option value="1" selected="selected">option1</option>
<option value="2" selected="selected">option2</option>
<option value="3">option3</option>
</select>
。它返回$('#mySelector').find(":selected")
。
但如果我的选项仅包含[]
属性而不是selected
selected="selected"
,则会返回正确的结果。
我做错了吗?
答案 0 :(得分:1)
属性和属性之间没有什么区别。
attr="value"
。checked, selected etc.
。所以为了回答你的问题,我会说你必须使用.map()
次迭代来创建数组:
var arr = $('#mySelector option').map(function(){
return $(this).attr('selected') === "selected"
}).get();
答案 1 :(得分:1)
设置属性selected="selected"
将作为预先选择的选项,并将首先显示在下拉列表中。
但是,我想用户会选择一些东西,并希望获得该值。
$('select option:selected').each(function () {
alert($(this).val());
});
遍历select元素中的每一个,并使用伪选择器:selected
来获取它的值。
注意:如果您想要的是文字,而不是价值,请使用
.text()
代替.val()
答案 2 :(得分:1)
你可以一个接一个地尝试:
$('#mySelector').find(":selected")//animate...
$('#mySelector').each(function(){
if ($(this).attr('selected') === "selected"){
//animate...
}
}