Bootstrap select2无法使用js功能

时间:2015-11-19 08:18:56

标签: javascript jquery twitter-bootstrap select

我有以下代码:

html

<select multiple id="e1" style="width:200px"></select>

js 中,我有一个填充选项的功能。

$('#e1').select2();
   for (var i in this.notSelected) {
     var options = '<option data-idx="'+ i +'">' + this.notSelected[i][field] + '</option>';
     $('#e1').append(options);
   }

如果我点击editText,我可以看到选项,但我无法选择任何内容。

关于此的任何示例或帮助?

感谢。

1 个答案:

答案 0 :(得分:1)

你应该像这样使用for循环。这么多次访问DOM并不是一个好方法。所以在for循环之后这样做。

  var options = '';
  for (var i=0;i<this.notSelected.length;i++) {
      var temp = this.notSelected[i];
      var options += '<option value="'+ temp +'">' + temp[field] +'</option>';
  }
  $('#e1').append(options);

以下是正在运行的代码。

&#13;
&#13;
$(document).ready(function(){
    $('#e1').select2();
    var ad = ['Op1', 'Op2', 'Op3'];
    var op = '';
    for (var i=0; i<ad.length;i++){
        op += '<option data-idx="'+i+'">'+ad[i]+'</option>';
    }
    $('#e1').append(op);
});
&#13;
<!DOCTYPE html>
<html>
    <head>
        <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
        <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1-rc.1/css/select2.min.css" rel="stylesheet" />
        <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1-rc.1/js/select2.min.js"></script>
        <meta charset="utf-8">
        <title>JS Bin</title>
    </head>
    <body>
        <select multiple id='e1' style="width: 400px;">

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