首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用jquery清除多个选择下拉列表

如何使用jquery清除多个选择下拉列表
EN

Stack Overflow用户
提问于 2011-05-19 17:40:53
回答 4查看 45.4K关注 0票数 6

可能重复:

Quick way to clear all selections on a multiselect enabled with jQuery?

亲爱的所有人。

我有个问题。一旦我有了多个选择框,当我点击“重置”按钮时,我想清除所有的内容。

你能为我提供jquery吗?

谢谢。

萨蒂亚

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-19 17:48:00

在未来,你应该贴出你已经尝试过的东西--它让那些试图回答你问题的人更深入地了解你正在走的道路,以及你可能走错了哪条路。

尽管如此,您可以使用.remove()方法从它的容器中删除列表项,如下所示:

代码语言:javascript
运行
复制
$('#list option').each(function(index, option) {
    $(option).remove();
});

您可以在这里看到它的作用:http://jsfiddle.net/y9pzS/

下面是一个使用.empty()方法删除列表中所有子项的版本:http://jsfiddle.net/y9pzS/1/

注意:你的问题有相当多的含糊不清之处。不确定您是要清除整个容器,还是只删除所选的项。这将从复选框中删除所有项目。

票数 7
EN

Stack Overflow用户

发布于 2011-05-19 17:43:28

我想你指的是明确的选择:

代码语言:javascript
运行
复制
//for jQuery >= 1.6
$('select option').removeProp('selected');
//for jQuery < 1.6
$('select option').removeAttr('selected');
票数 13
EN

Stack Overflow用户

发布于 2011-05-19 17:43:32

若要取消选择使用jQuery 1.6.1或更高版本的所有项,请执行以下操作:

代码语言:javascript
运行
复制
$('#mySelect').children().removeProp('selected');

或者向后兼容:

代码语言:javascript
运行
复制
$('#mySelect').children().removeAttr('selected');

为了简单起见,我假设您的HTML格式良好,而且您的select只有option子元素。

另外,如果列表很大,而且性能是个问题,那么filter列表可以使您只更改实际被选中的选项--简单地取消每个选项还是只更改需要取消选择的选项是更简单,这一点值得商榷:

代码语言:javascript
运行
复制
$('#mySelect').children(':selected').removeProp('selected');

注意:在第二个函数调用中使用:selected比制造一个复合选择器更有效(根据jQuery文档)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6062636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档