使用Chosen插件更改select内容
我试图改变当前select的select与select插件。
该文档涵盖了更新列表,并触发一个事件时,select一个选项,但没有(我可以看到)在外部更改当前选定的值。
我做了一个jsFiddle来演示代码和我试图改变select的方法:
$('button').click(function() { $('select').val(2); $('select').chosen().val(2); $('select').chosen().select(2); });
从文档中的“更新dynamicselect”部分:您需要触发字段上的“select:更新”事件
$(document).ready(function() { $('select').chosen(); $('button').click(function() { $('select').val(2); $('select').trigger("chosen:updated"); }); });
注意:1.0之前的版本使用以下内容:
$('select').trigger("liszt:updated");
我的回答迟了,但是我想补充一些上面答案中没有的信息。
1)如果您想在select的select中select单个值。
$('#select-id').val("22").trigger('chosen:updated');
2)如果你正在使用多个select的select,那么你可能需要一次设置多个值。
$('#documents').val(["22", "25", "27"]).trigger('chosen:updated');
从以下链接收集的信息:
1) select文件
2) selectGithub讨论
有时您必须删除当前的选项才能操作选定的选项。
这里是一个如何附加选项的例子:
<select id="mySelectId"> <option value=""></option> <option value="Argentina">Argentina</option> <option value="Germany">Germany</option> <option value="Greece">Greece</option> <option value="Japan">Japan</option> <option value="Thailand">Thailand</option> </select> <script> mySelect = $('#mySelectId'); var selected = mySelect.val(); //get current values selected = selected.concat(['Germany','Argentina']); //merge with new values selected = Array.from(new Set(selected)); //make values unique mySelect.val(null); //delete current options mySelect.val(selected); //add new options mySelect.trigger('chosen:updated'); //update chosen </script>