2016-05-17 22 views
0

Ich habe eine Bootstrap-select Combobox, die ich mit Daten in einem Ajax-Aufruf Html füllen:Bootstrap-select Dropdownlist zeigt nicht

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

Ajax-Aufruf:

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

Nach Wenn ich meine Anwendung starte, ist meine Auswahl gefüllt, aber die Dropdown-Liste öffnet sich nicht.

html after run

ich viele Lösungen gesehen haben, dass ich in meinem $ (document) setzen sollte .ready

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

aber dann bekomme ich eine Fehlermeldung, dass .selectpicker keine Funktion ist.

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

ich diese Skript implementiert Dateien

<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> 
+0

Können Sie jsfiddle? – osmanraifgunes

+0

https://jsfiddle.net/vefnjdL2/ – willemH

Antwort

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

es Erfolg Ajax Sie verwenden und fügen Sie Ihre anderen fileds nach Text und Wert

+0

Dies fügt nur und nicht den Rest meiner Optionen. – willemH

+0

in Ihrer Methode, wenn es in JSON zurückgegeben wird wie diese Return Json (neu {forEach = yourFilledDDLName}, JsonRequestBehavior.AllowGet); Dann ist dieser Code hier arbeiten ich weiß nicht, Sie Methode Rückgabetyp in C# stellen Sie sicher, dass Ihre Methode Daten in JSON retuns – Vishal

3

ich eine Lösung gefunden. Ich brauchte nur meine Auswahl zu aktualisieren

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