使用jQuery在启用了多选功能的上快速清除所有选择的方法?

使用jQuery在启用了多选功能的上快速清除所有选择的方法?,jquery,multi-select,Jquery,Multi Select,我必须遍历所有集合并删除“selected”属性吗?还是有更好的方法?jQuery的选择器可能就是您要查找的。只需在您的集合中查找所有选定的标记并删除选定的属性: $("#my_select option:selected").removeAttr("selected"); $("#my_select option:selected").prop("selected", false); 从jQuery 1.6开始,您应该使用.prop而不是删除属性: $("#my_select option

我必须遍历所有集合并删除“selected”属性吗?还是有更好的方法?

jQuery的选择器可能就是您要查找的。只需在您的集合中查找所有选定的标记并删除选定的属性:

$("#my_select option:selected").removeAttr("selected");
$("#my_select option:selected").prop("selected", false);
从jQuery 1.6开始,您应该使用.prop而不是删除属性:

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

删除所有选择的最短和最快方法是在jQuery.val函数中传递空字符串:

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

为了清除所有的选择,我使用这样,它的工作对我来说很好。 以下是脚本:

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

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

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

 $("#drp_assign_list option[value]").remove();
在JQuery中:

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

您可以使用multiselect下拉列表中的所有选项,这些选项将是一个数组。然后在其中循环,使每个对象中的选定属性为false

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

假设您使用的是David Stutz的Bootstrap multiselect下拉列表

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

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

您可以传递一个空数组以取消选择所有选择。下面是一个例子。从

val允许您传递元素值数组。这是有用的 处理包含、和等元素的jQuery对象时 . 在这种情况下,输入和选项的值 匹配将检查或选择的数组元素之一 而那些值与 数组将被取消选中或取消选中,具体取决于类型

$'.clearAll'。单击,函数{ $'.dropdown'.val[]; }; 沃尔沃汽车 萨博 欧宝 奥迪 清除所有选择
我尝试了很多解决方案,并想出了这个

仅使用此选项清除下拉列表的选项和选项

$("#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');
欢迎提出建议和改进

$'.clearAll'。单击,函数{ $'.dropdown'.val[]; }; 沃尔沃汽车 萨博 欧宝 奥迪 清除所有选择$ddlMultiselect.val.triggerchange


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

只是一个警告,如果您有一个值为的选项,此方法将选择该选项,以便您可以接受答案。此答案与问题无关。这是用于哪个库?Multiselect不是jQuery或jQueryUI的一部分。这是用于引导Multiselect可能对我有效:jQuery.select-access.Multiselect清除小写。他正在引用此插件,顺便说一句,清除选择现在不起作用。使用“全部取消选择”而不是“多选”下拉列表,这将无法清除显示的文本。问题是专门询问一种方法,在不迭代整个列表的情况下执行此操作,如果列表很长,则可能会占用大量资源。如果使用bootstrap selectPlease,则此方法有效。请在回答中添加一些说明:$'my-multi'。multiselect'rebuild';这对我很有用,谢谢兄弟: