Bootstrap-select DropDownList未显示

时间:2016-05-17 08:05:23

标签: javascript jquery asp.net ajax bootstrap-select

我有一个bootstrap-select组合框,我在ajax调用中填充数据 的 HTML:

<div class="row">
<select id="selectGemeente1" class="selectpicker" data-live-search="true"></select>
</div>

Ajax电话:

var gemeenteLijst = [];

var GetGemeentes = function () {
    $.ajax({
        type: "GET",
        dataType: "json",
        url: 'https://localhost::blabla',
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            var test = document.getElementById("selectGemeente1");
            data.forEach(function (item) {
                var opt = document.createElement("option");
                opt.value = item.GemeenteId;
                opt.innerHTML = item.Naam;
                test.appendChild(opt);
            });         
        },
        error: function (xhr, status, error) {
            alert(xhr.responseText);
        }
    });
}

$(document).ready(function () {
    GetGemeentes();  
})

运行我的应用程序后,我的选择已填满,但下拉列表未打开..

html after run

我见过很多解决方案,说我应该把它放在我的$(文件).ready

$(".selectpicker").html(optgroup);

但是我得到一个错误,说.selectpicker不是一个函数。

gemeenteLijstLaden.js:36 Uncaught TypeError: $(...).selectpicker is not a function

我已经实现了这些脚本文件

<script src="~/Scripts/jquery-2.2.3.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/js/bootstrap-select.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/js/i18n/defaults-nl_NL.min.js"></script>
<script src="~/Scripts/myCharts/gemeenteLijstLaden.js"></script>

2 个答案:

答案 0 :(得分:4)

我找到了解决方案。 我只需要刷新我的选择

$('.selectpicker').selectpicker('refresh');

答案 1 :(得分:0)

success: function (data) {   
  var selectGemeent = $("#selectGemeente1");
                selectGemeent.empty();
                $('#selectGemeente1').append($("<option></option>").
                                attr("value", "0").
                                text("Select"));
                $.each(data.forEach, function (index, item) {
                    selectGemeent.append($('<option>', {
                        value: item.GemeenteId,
                        text: item.Naam
                    })); ////function
                });
},

在你的ajax成功中使用它,并在文本和值之后添加你的其他文件