<select size="2">
<option selected="selected">Input your option</option>
<option>Input your option</option>
</select>
使用jQuery优雅地取消选项的最佳方法是什么?
<select size="2">
<option selected="selected">Input your option</option>
<option>Input your option</option>
</select>
使用jQuery优雅地取消选项的最佳方法是什么?
当前回答
这个代码适用于我。
$("option:selected").prop("selected", false);
其他回答
非常感谢你的解决方案。
单选组合列表的解决方案非常有效。这是我在很多网站上搜索后发现的。
$("#selectID").attr('selectedIndex', '-1').children("option:selected").removeAttr("selected");
这里有很多答案,但不幸的是,所有的答案都很旧,因此依赖于attr/removeAttr,这真的不是正确的方法。
@coffeeyesplease正确地提到了一个好的、跨浏览器的解决方案
$("select").val([]);
另一个好的跨浏览器解决方案是
// Note the use of .prop instead of .attr
$("select option").prop("selected", false);
你可以看到它在运行自检。在IE 7/8/9, FF 11, Chrome 19上测试。
哦,jquery。
既然还没有原生的javascript方法,我觉得有必要提供一个。
var select = document.querySelector('select'); //hopefully you'll use a better selector query
select.selectedIndex = 0; // or -1, 0 sets it to first option, -1 selects no options
为了向你们展示这个有多快,基准测试
$("#selectID option:selected").each(function(){
$(this).removeAttr("selected");
});
这将遍历每个项目,只取消选中的项目
这个代码适用于我。
$("option:selected").prop("selected", false);