select2是用于下拉列表多选的需求的。
使用方式:
- 引入js文件
<link rel="stylesheet" href="../plugins/select2/select2.css" />
<link rel="stylesheet" href="../plugins/select2/select2-bootstrap.css" />
<script src="../plugins/select2/select2.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../js/angular-select2.js"></script> (注意:由于该文件中用到了app,所以该文件需要放在父controller的后面)
-
定义下拉框中的内容
select2中的内容存储形式是:{id:1,text:‘联想’}。里面的key不能改变,所以我们查询数据库之后,需要把查询出来的json内容转换为map集合,返回才能够使用$scope.brandList = {data:[]};//初始化定义一个品牌的下拉列表对象 /*由于slelct2的固定格式。所以在查询品牌数据库的时候,需要封装为map集合*/ $scope.findBrandList = function () { brandService.findBrandOptionList().success(function (response) { $scope.brandList = {data:response}; }) }
-
在页面中使用
<input select2 select2-model="entity.brandIds" config="brandList" multiple placeholder="选择品牌(可多选)" class="form-control" type="text"/>` 1. select2-model: 用于指定用户选择后提交的变量 2. config:下拉框中需要显示的内容(angularJS的controller定义的对象) 3. multiple:表示可以多选。如果不配置,则不能实现多选