快速清除多选的所有选择<enable> with jQuery?</select>

时间:2010-02-12 20:01:35

标签: jquery multi-select

我是否必须遍历所有并设置删除'selected'属性还是有更好的方法?

13 个答案:

答案 0 :(得分:61)

只需在<option>中找到所有选定的<select>代码,然后移除selected属性:

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

从jQuery 1.6开始,您应该使用.prop而不是删除属性:

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

答案 1 :(得分:26)

为了清除所有选择,我正在使用这样,它对我来说很好。 这是脚本:

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

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

答案 2 :(得分:3)

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

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

答案 3 :(得分:2)

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

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

答案 4 :(得分:1)

jQuery的:selected选择器可能正是您所寻找的。

答案 5 :(得分:1)

在JQuery中:

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

答案 6 :(得分:0)

在javascript中,

您可以使用多选下拉列表的所有选项列表,这将是一个Array.Then循环遍历它,使每个对象中的Selected属性为false。

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

答案 7 :(得分:0)

$('.selectpicker').selectpicker('deselectAll');

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

答案 8 :(得分: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');


建议和改进。

答案 9 :(得分:0)

$('.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>

答案 10 :(得分:0)

$(“#ddlMultiselect”)。val('')。trigger(“ change”);

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

答案 11 :(得分:-1)

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

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

但由于某种原因,它在初始化方法

中不起作用

答案 12 :(得分:-1)

您可以传递一个空数组以取消选择所有选择。这里举一个例子。来自documentation

  

val()允许您传递元素值的数组。这很有用   当在包含,,和s之类的元素的jQuery对象上工作时   。在这种情况下,输入和选项的值应为   匹配数组元素之一将被选中选中   而那些具有与以下元素之一不匹配的值   数组将未选中未选中,具体取决于类型。

$('.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>