The general styles and functions of these two components are basically the same. This article will show you how to use these two components.
1. Component description and API
1. The first component - multiple-select. This component has a simple style, complete documentation, and powerful functions. But I feel that the selected effect is not very good. We will leave the display of its effects behind.
2. The second component-bootstrap-multiselect. The style of this component is very similar to the first one, and the documentation is quite comprehensive.
2. Multiple-select component
1. Component Description
This component requires the following browser support:
Fortunately, most mainstream browsers can support it.
2. Effect preview
(1) Original MultiSelect
(2) Initialized Multiple Select
(3) Set selected and disabled
(4) Set grouping
(5) Set the unselected initial value: Please select
(6) Initialized to radio selection
(7) Set the filtering function of the component
3. Code example
Since it is a bootstrap component, it definitely needs bootstrap support. Let’s take a look at the js that needs to be quoted
@*Jquery*@ <script src="~/Scripts/jquery-1.10.2.min.js"></script> @*bootstrap*@ <script src="~/Content/bootstrap/js/bootstrap.min.js"></script> <link href="~/Content/bootstrap/css/bootstrap.min.css" rel="stylesheet" /> @*multiple-select*@ <script src="~/Content/multiselect_wenzhixin/multiple-select-master/multiple-select.js"></script> <link href="~/Content/multiselect_wenzhixin/multiple-select-master/multiple-select.css" rel="stylesheet" /> @*页面js*@ <script src="~/Scripts/Home/Index_wenzhixin.js"></script>
(1) Original initialization
<label class="control-label col-xs-1" for="sel_search_orderstatus">多选站点</label> <div class="col-xs-2" style="margin-top:7px;"> <select id="sel_search_orderstatus" style="width:150px" multiple="multiple"> <option value="0">未排产</option> <option value="5">已排产</option> <option value="10">已锁定</option> <option value="25">在制</option> <option value="20">订单提交</option> <option value="30">订单删除</option> <option value="50">订单报废</option> </select> </div>
$(function () { $('#sel_search_orderstatus').multipleSelect(); })
(2) Set selected and disabled
<label class="control-label col-xs-1" for="sel_search_orderstatus2">disabled Select</label> <div class="col-xs-2" style="margin-top:7px;"> <select id="sel_search_orderstatus2" style="width:150px" multiple="multiple"> ...... </select> </div> $(function () { $('#sel_search_orderstatus2').multipleSelect(); })
(3) Set grouping and initial value
<label class="control-label col-xs-1" for="sel_search_orderstatus3">分组</label> <div class="col-xs-2" style="margin-top:7px;"> <select id="sel_search_orderstatus3" style="width:150px" multiple="multiple"> <optgroup label="未上线"> <option value="0">未排产</option> </optgroup> <optgroup label="已上线"> <option value="5">已排产</option> <option value="10">已锁定</option> <option value="25">在制</option> <option value="20">订单提交</option> </optgroup> <optgroup label="异常"> <option value="30">订单删除</option> <option value="50">订单报废</option> </optgroup> </select> </div> $(function () { $('#sel_search_orderstatus3').multipleSelect({ placeholder: "请选择" }); })
(4) Single choice
<label class="control-label col-xs-1" for="sel_search_orderstatus4">单选</label> <div class="col-xs-2" style="margin-top:7px;"> <select id="sel_search_orderstatus4" style="width:150px" multiple="multiple"> ....... </select> </div> $(function () { $('#sel_search_orderstatus4').multipleSelect({ placeholder: "请选择", single: true }); })
(5) Filter
<label class="control-label col-xs-1" for="sel_search_orderstatus5">筛选</label> <div class="col-xs-2" style="margin-top:7px;"> <select id="sel_search_orderstatus5" style="width:150px" multiple="multiple"> ...... </select> </div> $(function () { $('#sel_search_orderstatus5').multipleSelect({ placeholder: "请选择", filter: true }); })
(6) If your multiple select does not want the default initial value, you can set their values during initialization. The following is the default parameter list in the source code.
3. Bootstrap-multiselect component
1. Code example
The initialization process is similar to the above, first refer to the file.
<script src="~/Scripts/jquery-1.10.2.min.js"></script> <script src="~/Content/bootstrap/js/bootstrap.min.js"></script> <link href="~/Content/bootstrap/css/bootstrap.min.css" rel="stylesheet" /> <script src="~/Content/multiselect_davidstutz/js/bootstrap-multiselect.js"></script> <link href="~/Content/multiselect_davidstutz/css/bootstrap-multiselect.css" rel="stylesheet" /> <script src="~/Scripts/Home/Index_davidstutz.js"></script>
(1) The most primitive initialization
<label class="control-label col-xs-1" for="sel_search_orderstatus">多选站点</label> <div class="col-xs-2" style="margin-top:7px;"> <select id="sel_search_orderstatus" style="width:150px" multiple="multiple"> <option value="0">未排产</option> <option value="5">已排产</option> <option value="10">已锁定</option> <option value="25">在制</option> <option value="20">订单提交</option> <option value="30">订单删除</option> <option value="50">订单报废</option> </select> </div> $(function () { $('#sel_search_orderstatus').multiselect(); });
(2) Set selected and disabled
<label class="control-label col-xs-1" for="sel_search_orderstatus2">disabled Select</label> <div class="col-xs-2" style="margin-top:7px;"> <select id="sel_search_orderstatus2" style="width:150px" multiple="multiple"> <option value="0">未排产</option> <option value="5" selected="selected">已排产</option> <option value="10" selected="selected">已锁定</option> <option value="25" disabled="disabled">在制</option> <option value="20" disabled="disabled">订单提交</option> <option value="30" disabled="disabled" selected="selected">订单删除</option> <option value="50">订单报废</option> </select> </div>
(3) Grouping
<label class="control-label col-xs-1" for="sel_search_orderstatus3">分组</label> <div class="col-xs-2" style="margin-top:7px;"> <select id="sel_search_orderstatus3" style="width:150px" multiple="multiple"> <optgroup label="未上线"> <option value="0">未排产</option> </optgroup> <optgroup label="已上线"> <option value="5">已排产</option> <option value="10" selected="selected">已锁定</option> <option value="25" disabled="disabled">在制</option> <option value="20">订单提交</option> </optgroup> <optgroup label="异常"> <option value="30">订单删除</option> <option value="50">订单报废</option> </optgroup> </select> </div> $(function () { $('#sel_search_orderstatus3').multiselect({ enableCollapsibleOptGroups: true }); });
The codes for other effects will not be shown one by one. The code is very simple and there is basically no problem if you look at the documentation.
The above is the effect display of the two multi-select components and simple code examples. As for which one is better, it all depends on your own feeling. They are quite simple to use and have basically similar functions. I hope this article will be helpful to everyone's learning.