通过单击链接后点击链接取消选择多选中的所有选定值

问题描述:

我有一个链接,单击时会出现多选,如果再次单击它,下拉菜单将淡出。如果用户选择了值,然后点击删除尺寸,我希望所有内容都被取消选择,而用户不必手动取消选择每个项目。通过单击链接后点击链接取消选择多选中的所有选定值

<a href="" id="add_colour">Add colour</a> 
<a href="" id="add_size">Add size</a> 

<div class="form-group" id="size"> 
    <select multiple data-title="Select sizes" multiple name="size[]" class="selectpicker size" data-style="btn-block"> 
     <option value="xs">x-small</option> 
     <option value="s">small</option> 
     <option value="m">Medium</option> 
     <option value="l">large</option> 
     <option value="xl">x-larg</option> 
     <option value="2xl">xx-large</option> 
    </select> 
</div> 


$("#add_size").on("click", function(e) { 
    e.preventDefault(); 


    if ($("#size").is(":visible")) { 
     $(".size option:selected").prop("selected", false); 
     $("#size").fadeOut(); 
     $(this).html("Add Sizes"); 

    } else { 
     $("#size").fadeIn(); 
     $(this).html("Remove size"); 
    } 
}); 

这不起作用,但不会在控制台中产生任何错误。

您可以设置值RTO默认情况下并刷新选择,如:

$("#add_size").on("click", function(e) { 
    e.preventDefault(); 

    if ($("#size").is(":visible")) 
    { 
    //Set the value to default 
    $(".size").val('default_value'); 

    //Refresh the selectpicker 
    $(".size").selectpicker("refresh"); 


    $("#size").fadeOut(); 
    $(this).html("Add Sizes"); 

    } else { 
    $("#size").fadeIn(); 
    $(this).html("Remove size"); 
    } 
}); 

注:如果没有“defaul_value”你可以保留它为空,如:

$(".size").val('').selectpicker("refresh"); 

希望这会有所帮助。

你可以给所有的这些选择某一类,然后用它来得到你想要的所有的这些选择,并将其值设置为0

例如

$(".selectClass").each(function() { 
    $(this).val(""); 
    // if this didn't work, usually it does 
    $(this).removeProp("selected"); 

});