重建select2选项而不丢失当前选择
Rebuild select2 options without losing current selection
我的应用程序中有一个select2下拉元素,它会根据用户输入进行筛选。
要执行过滤,我执行以下操作:
$mySelect2Menu.empty();
$.each(newData, function(ind, val) {
$mySelect2Menu.append($('<option></option>').attr('value', val).text(val));
});
然而,因此,对$('#mySelect2Menu').val()
的后续调用将返回null。
我希望在重新填充菜单选项后,能够在select2中保留任何选定的值。做这件事最好的方法是什么?
作为一个重要的附带说明,对于我的特定用例,可以保证当重新填充菜单时,用户的当前选择将在newData
中可用。
我用一种非常简单的方式解决了这个问题。我只是将当前选择的选项存储在一个临时变量中,重新生成select,然后用临时变量调用select2('val')
:
var selectedVals = $sel.val();
$sel.empty();
$.each(newOptions, function(ind, val) {
$sel.append($('<option></option>').attr('value', val).text(val));
});
$sel.select2('val', selectedVals);
相关文章:
- select2 使用 AJAX 加载数据不能选择任何选项
- jquery-select2显示默认选择的第一个值
- 重建select2选项而不丢失当前选择
- 如何更改 select2 选择框的值
- 清除搜索词,并在选择任何项目后重新加载 Select2 输入的所有项目
- 设置要在 select2 插件中选择的最小值
- Select2(多选) - 如果至少已经选择一个元素,如何显示备用占位符
- 在 Select2 jquery 插件中取消选择选项
- 带有 AJAX 多选的 Angular ui-select2 - 检索最终选择值作为 id 而不是 json
- 选择特定选项后禁用 select2 上的选项
- Select2 不允许在使用 select2 ajax 时选择值
- 无法使用 jQuery .select2 选择项目
- 如何在 Select2 中设置最大选择长度,而关闭选择为假
- 使用 select2.js 带有占位符,我无法选择第一项
- select2以编程方式更改选择
- 如何在select2多选中预先选择值
- select2表单上清除的多项选择.submit(rails上的ruby)
- 如何使用select2和Twig模板从选择列表中将新值设置为选定值
- select2选择未被激发的事件
- 如何使用另一个select2值选择select2