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

时间:2011-05-19 17:40:54

标签: jquery

  

可能重复:
  Quick way to clear all selections on a multiselect enabled <select> with jQuery?

亲爱的。

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

你可以为我提供jquery吗?

感谢。

萨蒂亚

4 个答案:

答案 0 :(得分:13)

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

//for jQuery >= 1.6
$('select option').removeProp('selected');
//for jQuery < 1.6
$('select option').removeAttr('selected');

答案 1 :(得分:8)

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

$('#mySelect').children().removeProp('selected');

或向后兼容:

$('#mySelect').children().removeAttr('selected');

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

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

$('#mySelect').children(':selected').removeProp('selected');

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

答案 2 :(得分:7)

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

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

$('#list option').each(function(index, option) {
    $(option).remove();
});

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

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

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

答案 3 :(得分:3)

请参阅this SO post

$("#my_select option:selected").removeAttr("selected");