我正在尝试用所选的插件更改select中当前选定的选项。
documentation包括更新列表,并在选择一个选项时触发事件,但没有(据我所见)外部更改当前选定的值。
我已经创建了一个jsFiddle to demonstrate the code,并尝试了更改选择的方法:
$('button').click(function() {
$('select').val(2);
$('select').chosen().val(2);
$('select').chosen().select(2);
});
发布于 2012-01-24 07:40:35
在docs的“动态更新所选内容”部分:您需要在字段上触发' Chosen :updated‘事件
$(document).ready(function() {
$('select').chosen();
$('button').click(function() {
$('select').val(2);
$('select').trigger("chosen:updated");
});
});
注意: 1.0之前的版本使用了以下内容:
$('select').trigger("liszt:updated");
发布于 2016-02-21 21:59:28
我的答案是晚了,但我想补充上面所有答案中遗漏的一些信息。
1)如果您想在所选的select中选择单个值。
$('#select-id').val("22").trigger('chosen:updated');
2)如果您使用的是多选select,则可能需要一次性设置多个值。
$('#documents').val(["22", "25", "27"]).trigger('chosen:updated');
从以下链接收集的信息:
1) Chosen Docs
发布于 2016-12-03 19:31:40
有时,您必须删除当前选项才能操作选定的选项。
下面是一个如何设置选项的示例:
<select id="mySelectId" class="chosen-select" multiple="multiple">
<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>
activateChosen($('body'));
selectChosenOptions($('#mySelectId'), ['Argentina', 'Germany']);
function activateChosen($container, param) {
param = param || {};
$container.find('.chosen-select:visible').chosen(param);
$container.find('.chosen-select').trigger("chosen:updated");
}
function selectChosenOptions($select, values) {
$select.val(null); //delete current options
$select.val(values); //add new options
$select.trigger('chosen:updated');
}
</script>
JSFiddle (包括howto附加选项):https://jsfiddle.net/59x3m6op/1/
https://stackoverflow.com/questions/8980131
复制相似问题