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

Sat*_*tya 6 jquery

可能重复:
使用jQuery快速清除多选启用<select>上的所有选项?

亲爱的大家.

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

你能为我提供jquery吗?

谢谢.

萨蒂亚

Nea*_*eal 13

我认为你的意思是明确的选择:

//for jQuery >= 1.6
$('select option').removeProp('selected');
//for jQuery < 1.6
$('select option').removeAttr('selected');
Run Code Online (Sandbox Code Playgroud)


Aln*_*tak 8

如果使用jQuery 1.6.1或更高版本,则取消选择所有项目:

$('#mySelect').children().removeProp('selected');
Run Code Online (Sandbox Code Playgroud)

或者为了向后兼容:

$('#mySelect').children().removeAttr('selected');
Run Code Online (Sandbox Code Playgroud)

为简单起见,我假设您的HTML格式正确并且您select只有option孩子.

此外,如果列表很大并且性能是一个问题,filter那么列表只能更改实际选择的列表 - 可以说是简单地取消选择每个选项还是仅更改需要取消选择的选项更简单:

$('#mySelect').children(':selected').removeProp('selected');
Run Code Online (Sandbox Code Playgroud)

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


mat*_*att 7

在将来,你应该发布你到目前为止所尝试的内容 - 这会让人们试图回答你的问题,更深入地了解你正在走的路径,以及你可能走错路的地方.

话虽这么说,您可以使用.remove()方法从其容器中删除列表项,如下所示:

$('#list option').each(function(index, option) {
    $(option).remove();
});
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到它:http://jsfiddle.net/y9pzS/

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

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