2012-03-22 97 views
1

我有多个相同类的多选框,我想取消选择所有事件。他们有一个与他们周围同级class_for_all_multi_selects的div。我怎样才能取消选择类与jquery的多个选择框选项?

$("#element_to_uncheck_all_options").change(function() { 
    $('.class_for_all_multi_selects'). ...? 
}); 

<div class="class_for_all_multi_selects"> 
    <select multiple="multiple" name="1"> 
    <option value="1">option1</option> 
    <option value="2">option2</option> 
    </select> 
</div> 

<div class="class_for_all_multi_selects"> 
    <select multiple="multiple" name="2"> 
    <option value="1">option1</option> 
    <option value="2">option2</option> 
    </select> 
</div> 

我怎样才能取消选择多个选择框的类与jquery选项?

回答

6

你也可以尝试使用这个prop

$("div.class_for_all_multi_selects option:selected").prop('selected',false); 

检查出来:http://jsfiddle.net/EVrrz/3/

+1

whoo,很多正确的答案,因为jsfiddle演示选择了这个。 – tonymarschall 2012-03-22 18:38:55

1

没问题。

$("#element_to_uncheck_all_options").click(function() { 
    $(".class_for_all_multi_selects option").attr("selected", false); 
});​ 

现在,测试和工程:)

+0

哦,这些都不是复选框。嗯,不知道它是否仍然有效...不是那么多。修改... – 2012-03-22 18:17:36

+1

我不知道为什么我读这个问题这么难。这并不复杂。代码现在反映问题并且实际工作 - 请参阅[jsfiddle](http://jsfiddle.net/BXK8n/)。 – 2012-03-22 18:24:35

2

使用removeAttr

$("#element_to_uncheck_all_options").click(function() { 
    $("div.class_for_all_multi_selects option:selected").removeAttr("selected"); 
}); 

而且因为你只想取消选中所有项目,使用click(有一个按钮,或者别的什么),而不是的change

+0

+1更严格的选择器 – kinakuta 2012-03-22 18:27:21

3

使用removeAttr()从所有选项

$('select option:selected').removeAttr("selected"); 

既然你说#element_to_uncheck_all_options是一个div,你应该绑定到click事件,而不是change

$("#element_to_uncheck_all_options").click(function() { 
    $('select option:selected').removeAttr("selected"); 
}); 
0

能不能改变的值删除选定的属性选择一个空值和jQuery将处理其余的,不需要循环

$('.class_for_all_multi_selects select').val(''); 
1

以下是我大概会做到这一点:

$('#selectAll').change(function() { 
    $('.class_for_all_multi_selects option').prop('selected', this.checked); 
}); 

这里有一个jsfiddle证明。这实现了全部选择/全部取消选择,但您可以仅通过将this.checked设置为false来取消选择。

+0

@Starx:他使用复选框选择所有/取消全选过程。如果你阅读代码,你会看到。 – 2012-03-22 18:36:48

+0

@Starx他所指的div只是选择的容器。我使用复选框来实现OP引用的#element_to_uncheck_all_options(但不指定实际使用的输入) - 我的示例仅用于演示目的。 – kinakuta 2012-03-22 18:42:49

相关问题