<select size="2">
<option selected="selected">Input your option</option>
<option>Input your option</option>
</select>
Run Code Online (Sandbox Code Playgroud)
使用jQuery优雅地取消选择选项的最佳方法是什么?
Ei *_*ung 329
使用removeAttr ...
$("option:selected").removeAttr("selected");
Run Code Online (Sandbox Code Playgroud)
或者道具
$("option:selected").prop("selected", false)
Run Code Online (Sandbox Code Playgroud)
Jon*_*Jon 153
这里有很多答案,但遗憾的是它们都很老,因此依赖attr/ removeAttr它真的不是那种方式.
@coffeeyesplease正确地提到了一个好的跨浏览器解决方案
$("select").val([]);
Run Code Online (Sandbox Code Playgroud)
另一个很好的跨浏览器解决方案是
// Note the use of .prop instead of .attr
$("select option").prop("selected", false);
Run Code Online (Sandbox Code Playgroud)
你可以看到它在这里运行自检.在IE 7/8/9,FF 11,Chrome 19上测试.
cof*_*ase 24
自问过以来已经有一段时间了,我还没有在旧浏览器上测试过,但在我看来,一个更简单的答案是
$("#selectID").val([]);
Run Code Online (Sandbox Code Playgroud)
.val()适用于选择http://api.jquery.com/val/
Jos*_*ter 23
$('select').val('')我只是在选择本身使用它,它就可以了.
我在使用jQuery 1.7.1.
the*_*man 19
到目前为止,答案仅适用于IE6/7中的多个选择; 对于更常见的非多选,您需要使用:
$("#selectID").attr('selectedIndex', '-1');
Run Code Online (Sandbox Code Playgroud)
这在flyfishr64链接的帖子中有解释.如果你看一下,你会看到有两种情况 - 多/非多.没有什么可以阻止你去寻找完整的解决方案:
$("#selectID").attr('selectedIndex', '-1').find("option:selected").removeAttr("selected");
Run Code Online (Sandbox Code Playgroud)
哦,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
Run Code Online (Sandbox Code Playgroud)
只是为了向您展示这是多快:基准
$("#selectID option:selected").each(function(){
$(this).removeAttr("selected");
});
Run Code Online (Sandbox Code Playgroud)
这将遍历每个项目并仅取消选中已检查的项目
一个快速谷歌发现这篇文章描述了如何在IE中为单个和多个选择列表做你想要的.解决方案似乎也很优雅:
$('#clickme').click(function() {
$('#selectmenu option').attr('selected', false);
});
Run Code Online (Sandbox Code Playgroud)
小智 5
$("#select_id option:selected").prop("selected", false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
262497 次 |
| 最近记录: |