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 value 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 }); });
其他效果的程式碼就不一一展示了,程式碼很簡單,看看文件基本上沒啥問題。
以上就是兩種多重選擇組件的效果展示以及簡單的程式碼範例。至於哪種更好全憑自己的感覺,使用起來都挺簡單,功能基本上類似,希望這篇文章對大家的學習有所幫助。