使用 jQuery 清除启用多选的所有选择的快速方法?<select>

问题描述 投票:0回答:14
我是否必须遍历所有并设置删除“选定”属性还是有更好的方法?

jquery multi-select
14个回答
75
投票
只需在

<option>

 中找到所有选定的 
<select>
 标签并删除 
selected
 属性即可:

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

从 jQuery 1.6 开始,您应该使用

.prop

 而不是删除该属性:

$("#my_select option:selected").prop("selected", false);
    

37
投票
为了清除所有选择,我像这样使用它,它对我来说工作得很好。 这是脚本:

$("#ddlMultiselect").multiselect("clearSelection"); $("#ddlMultiselect").multiselect( 'refresh' );
    

3
投票
删除所有选择的最短、最快的方法是在 jQuery .val() 函数中传递空字符串:

$("#my_select").val('')
    

3
投票
这是清除多选或列表框的最佳方法:

$("#drp_assign_list option[value]").remove();
    

3
投票
在 JQuery 中:

$("#id option:selected").prop("selected", false); $("#id").multiselect('refresh');
    

3
投票

$('.clearAll').on('click', function() { $('.dropdown').val([]); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select class="dropdown" multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

<button class='clearAll'>Clear All Selection</button>


2
投票

$("#ddlMultiselect").val('').trigger("change");


对于多选下拉菜单,它将清除显示的文本。


1
投票

1
投票
在 JavaScript 中,

您可以使用多选下拉列表的所有选项列表,该列表将是一个数组。然后循环遍历它以使每个对象中的选定属性为 false。

for(var i=0;i<list.length;i++) { if(list[i].Selected==true) { list[i].Selected=false; } }
    

1
投票
您可以传递一个空数组来取消选择所有选择。这是一个例子。来自

文档

val()

 允许您传递元素值数组。这很有用
  当处理包含 、 和 s 等元素的 jQuery 对象时
  。在这种情况下,输入和选项的值是
  匹配数组的元素之一将被 
checkedselected 而那些具有与其中一个元素不匹配的值 该数组将是 uncheckedunselected,具体取决于类型。

$('.clearAll').on('click', function() { $('.dropdown').val([]); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select class="dropdown" multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

<button class='clearAll'>Clear All Selection</button>


1
投票
$('.selectpicker').selectpicker('deselectAll');

https://developer.snapappointments.com/bootstrap-select/methods/


0
投票
我尝试了很多解决方案并想出了这个。

仅使用此功能即可清除下拉列表的选项和选择

$("#my-multi option:selected").prop("selected", false); $("#my-multi option").remove();

但界面没有更新。所以你必须这样做

$('#my-multi').multiselect('rebuild');

因此,最终的代码是

$("#my-multi option:selected").prop("selected", false); $("#my-multi option").remove(); $('#my-multi').multiselect('rebuild');


欢迎提出建议和改进。


0
投票

$("#my_select 选项:selected").prop("selected", false).change();

数值清晰,显示文字也清晰。


-1
投票
假设您正在使用 David Stutz 的 Bootstrap 多选下拉菜单

$('#selectId').multiselect('deselectAll', false);

但由于某种原因它在初始化方法中不起作用

© www.soinside.com 2019 - 2024. All rights reserved.