Select2在多选模式下添加一个额外的空标签

时间:2015-07-04 13:03:34

标签: angularjs jquery-plugins jquery-select2

我在多选模式下使用select2。当我选择一个元素时,它会添加一个额外的空字符串<option value="? string: ?"></option>

&#13;
&#13;
var app= angular.module("myapp",[]);
app.controller("test",function($scope){
          $(".select").select2({
            minimumInputLength: 1,
            data:[],
            query: function (query) {
                if (query.term) {

                    var data = { results: [] }, i, j, s;
                    for (i = 1; i < 5; i++) {
                        s = "";
                        for (j = 0; j < i; j++) { s = s + query.term; }
                        data.results.push({ id: query.term + i, text: s });
                    }
                    query.callback(data);
                }
            }
        });
})
&#13;
<html ng-app="myapp">

  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.full.js"></script>
    
  </head>

  <body>
  <div ng-controller="test">
        <select class="select" ng-model="mysel" multiple="multiple" style="width:300px"></select>
  </div>
  </body>

</html>
&#13;
&#13;
&#13;

修改 @Sappy Goofy Ran进入新问题相应地编辑了上面的代码。使数据数组为空并添加了查询。它仍然显示错误

修改multiple="multiple"添加到<select class="select" ng-model="mysel" data-multiple="true" style="width:300px"></select>之后,它就可以了

2 个答案:

答案 0 :(得分:1)

<select>更改为<select2>

答案 1 :(得分:0)

data-multiple="true"添加到<select class="select" ng-model="mysel" multiple="multiple" style="width:300px"></select>之后,它很有效。相应地编辑了代码