我在下拉列表中使用bootstrap select。
如果我在加载时设置列表,它将运行良好。
示例:
<div class="col-md-6" id="target">
<select class="selectpicker" id="select-picker" multiple>
<option>Sunday</option>
<option>Monday</option>
<option>Tuesday</option>
<option>Wednesday</option>
<option>Thursday</option>
<option>Friday</option>
<option>Saturday</option>
</select>
</div>
如果我尝试动态创建该元素并刷新 选择选择器,
var data = '<div class="col-md-6"><select name="date[]" class="selectpicker" multiple>'+
'<option>Sunday</option><option>Monday</option>' +
'<option>Tuesday</option><option>Wednesday</option>' +
<option>Thursday</option><option>Friday</option><option>Saturday</option></select></div>';
$('#target').append(data);
$('.selectpicker').selectpicker('refresh');
它生成错误,
TypeError: $(...).selectpicker is not a function
这段代码出了什么问题?
(“Selectpicker”在加载时工作正常,它不仅仅支持动态元素。)
答案 0 :(得分:0)
编辑: 我在
之前遇到过类似的错误TypeError:$(...)。selectpicker不是函数
这是因为我正在加载jQuery两次。在第二次加载jQuery库之后,jQuery命名空间上的所有Plugins注册都消失了。所以这可能是这里的问题。
此外,您按类名访问元素,但未在动态HTML中提供类名
尝试
var data = '<div class="col-md-6"><select name="date[]" class="selectpicker" multiple>'+
'<option>Sunday</option><option>Monday</option>' +
'<option>Tuesday</option><option>Wednesday</option>' +
'<option>Thursday</option><option>Friday</option><option>Saturday</option></select></div>';
注意
class="selectpicker"
答案 1 :(得分:0)
您需要在选择中添加课程selectpicker
。此外,您错过了data
变量定义的最后一行的引号。它应该是这样的:
var data = '<div class="col-md-6"><select name="date[]" class="selectpicker" multiple>'+
'<option>Sunday</option><option>Monday</option>' +
'<option>Tuesday</option><option>Wednesday</option>' +
'<option>Thursday</option><option>Friday</option><option>Saturday</option></select></div>';
Here是一个有效的jsFiddle演示。