清除并刷新 jQuery Chosen 下拉列表
Posted
技术标签:
【中文标题】清除并刷新 jQuery Chosen 下拉列表【英文标题】:Clear and refresh jQuery Chosen dropdown list 【发布时间】:2013-12-07 12:43:22 【问题描述】:我正在尝试清除 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);
);
但我无法让它更新该下拉列表... 一些帮助? :)
【问题讨论】:
DOM 中的代码准备好了吗? 是的(评论太短,随机文本) 【参考方案1】:使用.trigger("chosen:updated");
,您可以在追加后更新选项列表。
动态更新 Chosen: 如果您需要更新选择字段中的选项并希望 Chosen 获取更改,您将 需要在现场触发“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");
);
【讨论】:
是的... .html() 会破坏所选的组合。 谢谢,我正在寻找这个解决方案 你救了我的命 :) 如果这对我不起作用。试试这个: $('#picturegallery').trigger("liszt:updated");【参考方案2】:如果trigger("chosen:updated");
不工作,使用@Nhan Tran 的.trigger("liszt:updated");
工作正常。
【讨论】:
Please use Answers exclusively to answer the question。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您拥有sufficient reputation,您就可以comment on any post。同时,请不要使用答案发布 cmets。 @TimDiekmann 这个答案对我更有用,但你说他犯了一个错误。在这里,我们正在寻找与 Facebook/Instagram/任何其他社交媒体不同的帖子和评论的答案。ca Michel
=> 谢谢。【参考方案3】:
$("#idofBtn").click(function()
$('#idofdropdown').empty(); //remove all child nodes
var newOption = $('<option value="1">test</option>');
$('#idofdropdown').append(newOption);
$('#idofdropdown').trigger("chosen:updated");
);
【讨论】:
请花点时间描述一下这段代码是如何解决问题的。【参考方案4】: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");
);
【讨论】:
【参考方案5】:在我的情况下,我需要在每次更改时更新选定的值,因为当我提交表单时,它总是得到错误的值,并且我使用了多个选择的下拉菜单。 不要更新单个条目,而是更改选择器以更新所有下拉列表。 这可能对某人有帮助
$(".chosen-select").chosen().change(function ()
var item = $(this).val();
$('.chosen-select').trigger('chosen:updated');
);
【讨论】:
【参考方案6】:如果trigger("chosen:updated");
不适合您。你可以试试$('#ddl').trigger('change');
,就我而言,它对我有用。
【讨论】:
【参考方案7】:你可以用这个在页面末尾重新加载,也许这个对你有帮助
<script>
$(".chosen-select").chosen();
</script>
【讨论】:
以上是关于清除并刷新 jQuery Chosen 下拉列表的主要内容,如果未能解决你的问题,请参考以下文章
Jquery Chosen 插件 - 通过 Ajax 动态填充列表