web-dev-qa-db-ja.com

jQuery Chosenドロップダウンリストをクリアして更新する

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

しかし、そのドロップダウンリストを更新することはできません...いくつかのヘルプ? :)

71
plexcell

.trigger("chosen:updated"); を使用すると、追加後にオプションリストを更新できます。

動的に選択された更新:選択フィールドのオプションを更新する必要があり、選択されたものに変更を反映させるには、 'フィールドで "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");
    });
163
Praveen

trigger("chosen:updated");が機能しない場合は、@ Nhan Tranの.trigger("liszt:updated");を使用してください。

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

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
user3043330