2013-11-22 33 views
55

我想清除jQuery选择下拉列表并刷新它。清除和刷新jQuery选择下拉列表

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> 

当我点击 “刷新” 按钮,它应该变成这样:

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

我曾尝试:

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

但我可以”吨得到它来更新下拉列表... 有些帮助? :)

+0

是您在DOM代码准备好了吗? –

+1

是的,它是(太短的评论,随机文本) – plexcell

回答

131

使用.trigger("chosen:updated");您可以在追加后更新选项列表。

更新获选动态:如果您需要在您的选择字段更新选项,并要选择拿起变化,你会 需要触发“选择:更新”上田事件。选定的 将基于更新后的内容重新构建。

您的代码:

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

是的... .html()打破了选择的组合。 –

+2

谢谢,我正在寻找这个解决方案 – logudotcom

+0

YOU SAVED MY LIFE :) –

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

请花点时间并描述此代码如何解决问题。 – 31piy