jQuery无法从下拉框中删除属性

时间:2013-07-29 13:22:45

标签: javascript jquery html select

我无法删除选中的选项我做错了什么?

这是在控制台中完成的

[
<select class=​"engclass">​…​</select>​
]
$(".engclass").removeAttr('selected').val("Application # 1").attr('selected',true);
[
<select class=​"engclass" selected=​"selected">​
<option value=​"-1" selected>​Choose application​</option>​
<option value=​"1">​Application # 1​</option>​
<option value=​"2">​Application # 2​</option>​
<option value=​"3">​Application # 3​</option>​
</select>​

4 个答案:

答案 0 :(得分:2)

使用.prop()代替.attr().removeAttr()

此外,您必须在<option>上使用它而不是<select>本身.. wroking jsFiddle

$(".engagement_app option:first-child").prop('selected',true); // select first
$(".engagement_app option:first-child").prop('selected',false); // deselect first

答案 1 :(得分:1)

您可以使用:

$(".engclass").removeAttr('selected')
                    .find(":contains('Application # 1')")
                    .prop('selected',true);

http://jsfiddle.net/U73Ru/

答案 2 :(得分:0)

您无法从selected中删除select属性,因为必须始终拥有1个选定选项。相反,您只需将val设置为您要选择的元素即可。试试这个:

$(".engagement_app").val("1"); // should select​ Application # 1

答案 3 :(得分:0)

你应该试试这个:

$(".engagement_app option").removeAttr('selected');
$(".engagement_app option[value="1"]").attr('selected',true);