2013-11-22 24 views
55

Próbuję wyczyścić listę rozwijaną jQuery Wybrane i odświeżyć go.Wyczyść i odśwież listę rozwijaną jQuery Wybierz

HTML:

<select data-placeholder="Select Picture..." class="chosen-select" style="width:250px;" id="picturegallery" tabindex="2"> 
    <option value="" selected="selected"></option> 
    <option value="x">remove me</option> 
</select> 

Po kliknięciu "Odśwież" przycisk, należy włączyć w to:

<select data-placeholder="Select Picture..." class="chosen-select" style="width:250px;" id="picturegallery" tabindex="2"> 
    <option value="1">test</option> 
</select> 

Co próbowałem:

$("#refreshgallery").click(function(){ 
    $('#picturegallery').empty(); 
    var newOption = $('<option value="1">test</option>'); 
    $('#picturegallery').append(newOption); 
}); 

ale mogę” t Pobierz aktualizację tej listy rozwijanej ... Jakaś pomoc? :)

+0

Czy Twój kod w DOM gotowy? –

+1

Tak, jest (za krótki komentarz, losowy tekst) – plexcell

Odpowiedz

131

Za pomocą .trigger("chosen:updated"); można zaktualizować listę opcji po dołączeniu.

Aktualizacja Chosen dynamicznie:Jeśli trzeba aktualizować opcje w wybranej dziedzinie i chcą Chosen odebrać zmiany, będziesz trzeba wyzwolić „najważniejsze: zaktualizowaną” zdarzenie na boisku . Wybrany odbuduje się na podstawie zaktualizowanej zawartości.

Kod:

$("#refreshgallery").click(function(){ 
     $('#picturegallery').empty(); //remove all child nodes 
     var newOption = $('<option value="1">test</option>'); 
     $('#picturegallery').append(newOption); 
     $('#picturegallery').trigger("chosen:updated"); 
    }); 
+3

Tak ... html() łamie wybrane combo. –

+2

Dzięki, szukałem tego rozwiązania – logudotcom

+0

ZBAWIŁEŚ MOJE ŻYCIE :) –

0

MVC 4:

function Cargar_BS(bs) { 
     $.getJSON('@Url.Action("GetBienServicio", "MonitoreoAdministracion")', 
         { 
          id: bs 
         }, 
         function (d) { 
          $("#txtIdItem").empty().append('<option value="">-Seleccione-</option>'); 
          $.each(d, function (idx, item) { 
           jQuery("<option/>").text(item.C_DescBs).attr("value", item.C_CodBs).appendTo("#txtIdItem"); 
          }) 
          $('#txtIdItem').trigger("chosen:updated"); 
         }); 
    } 
0
$("#idofBtn").click(function(){ 
     $('#idofdropdown').empty(); //remove all child nodes 
     var newOption = $('<option value="1">test</option>'); 
     $('#idofdropdown').append(newOption); 
     $('#idofdropdown').trigger("chosen:updated"); 
    }); 
+0

Proszę poświęć chwilę i opisz, w jaki sposób ten kod rozwiązuje problem. – 31piy

Powiązane problemy