我有以下代码:
在 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,我可以看到选项,但我无法选择任何内容。
关于此的任何示例或帮助?
感谢。
答案 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);
以下是正在运行的代码。
$(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;