清除并刷新jQuery Chosen下拉列表

ple*_*ell 71 jquery 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>
Run Code Online (Sandbox Code Playgroud)

当我点击"刷新"按钮时,它应该变为:

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

我尝试过的:

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

但我不能让它更新下拉列表...一些帮助?:)

Pra*_*een 166

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

动态更新选择: 如果您需要更新选择字段中的选项并希望选择选择更改,则需要在该字段上触发"selected: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");
    });
Run Code Online (Sandbox Code Playgroud)

  • 是的...... .html()打破了所选的组合. (4认同)
  • 谢谢,我正在寻找这个解决方案 (4认同)
  • 你救了我的命 :) (2认同)

小智 8

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