清除并刷新jQuery Chosen列表

mzsu5hc0  于 2023-10-17  发布在  jQuery
关注(0)|答案(8)|浏览(187)

我正在尝试清除jQuery Chosen列表并刷新它。
超文本标记语言:

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

但我没法更新那份名单。有帮助吗?:)

iibxawm4

iibxawm41#

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

动态更新Chosen: 如果您需要更新选择字段中的选项,并希望Chosen选择更改,则需要触发字段上的“chosen:updated”事件。Chosen将根据更新的内容重新构建自己。

您的代码:

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

wpcxdonn2#

如果trigger("chosen:updated");不工作,使用@Nhan Tran的.trigger("liszt:updated");,它工作正常。

yrdbyhpb

yrdbyhpb3#

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

vyu0f0g14#

如果trigger("chosen:updated");不适合你。你可以试试$('#ddl').trigger('change');,就像我的情况一样,它对我很有效。

ujv3wf0j

ujv3wf0j5#

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");
                        });
    }
epfja78i

epfja78i6#

在我的情况下,我需要在每次更改时更新选定的值,因为当我提交表单时,它总是得到错误的值,并且我使用了多个选择的唐斯。而不是更新单个条目,更改选择器以更新所有下拉唐斯。这也许能帮到

$(".chosen-select").chosen().change(function () {
    var item = $(this).val();
    $('.chosen-select').trigger('chosen:updated');
});
q9rjltbz

q9rjltbz7#

你可以在页面末尾使用这个来重新加载,也许这个可以帮助你

<script>
  $(".chosen-select").chosen();
</script>
svgewumm

svgewumm8#

https://stackoverflow.com/a/77201227/5063739
它对我也不起作用。然后,我决定将初始化的控制分配给一个变量,并使用该变量重写顺序调用。这解决了问题。

<script type="text/javascript">
    var bs = $('#BookSets').chosen();

    function b1onclick() {
        bs.trigger("chosen:updated");
    }
   ....

相关问题