动态创建引导选择选择器

时间:2016-06-10 20:49:06

标签: jquery twitter-bootstrap

我正在使用bootstrap select plugin。我正在填充动态创建的选择,如下所示:

var select = $('<select/>', {
     'class':"selectpicker"
}).selectpicker();

for (var idx in data) {
    if (data.hasOwnProperty(idx)) {
        select.append('<option value=' + data[idx].id+ '>' + data[idx].Text+ '</option>');
    }
}

select.selectpicker('refresh');

数据很好并且创建了一个select,它无法识别我正在尝试创建的bootstrap selectpicker。我在同一页面上有一个我没有动态创建的选项,它运行正常。

<select class="selectpicker">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
</select>
$('.selectpicker').selectpicker();

如何动态创建引导选择?感谢。

1 个答案:

答案 0 :(得分:9)

在调用<select />之前,您需要将您创建的selectpicker()附加到DOM,如下所示:

var $select = $('<select/>', {
     'class':"selectpicker"
});
for (var idx in data) {
    $select.append('<option value=' + data[idx].id + '>' + data[idx].Text + '</option>');
}

$select.appendTo('#myElement').selectpicker('refresh');

请注意append()的使用,以及hasOwnProperty的删除 - 您已经遍历对象的属性,因此方法调用是多余的。