我正在尝试清除jQuery Chosen下拉列表并刷新它。
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 :(得分:162)
使用.trigger("chosen:updated");
,您可以在追加后更新选项列表。
动态更新选择 如果您需要更新选择字段中的选项并希望选择选择更改,您将会 需要在该字段上触发“selected:updated”事件。选择意志 根据更新的内容重新构建自己。
您的代码:
$("#refreshgallery").click(function(){
$('#picturegallery').empty(); //remove all child nodes
var newOption = $('<option value="1">test</option>');
$('#picturegallery').append(newOption);
$('#picturegallery').trigger("chosen:updated");
});
答案 1 :(得分:2)
如果trigger("chosen:updated");
不起作用,请使用@Nhan Tran的.trigger("liszt:updated");
可以正常工作。
答案 2 :(得分:1)
$("#idofBtn").click(function(){
$('#idofdropdown').empty(); //remove all child nodes
var newOption = $('<option value="1">test</option>');
$('#idofdropdown').append(newOption);
$('#idofdropdown').trigger("chosen:updated");
});
答案 3 :(得分: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");
});
}
答案 4 :(得分:0)
对于我来说,我需要在每次更改时更新选定的值,因为提交表单时,它总是会得到错误的值,并且我使用了多个选定的下拉列表。 更改选择器以更新所有下拉列表,而不是更新单个条目。 这可能会帮助某人
$(".chosen-select").chosen().change(function () {
var item = $(this).val();
$('.chosen-select').trigger('chosen:updated');
});
答案 5 :(得分:0)
万一trigger("chosen:updated");
对您不起作用。您可以尝试$('#ddl').trigger('change');
,因为它对我来说很有用。