2015-11-19 49 views
2

我有以下代碼:引導選擇2不與js函數工作

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

你應該像這樣使用for循環。這麼多時間訪問DOM並不是一種好的方法。所以在循環之後做這個。

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); 

以下是運行代碼。

$(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); 
 
});
<!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>

+0

謝謝你非常非常非常非常非常多,我的朋友。 –

+0

不客氣。 –