选择jQuery select2的值未正确更新
选择jQuery select2的值未正确更新
我已经花了一个多星期的时间来解决这个问题,但几乎没有任何进展。
我查看了以下内容:
- 如何设置jquery select2的选中值?
- 当嵌入到bootstrap模态框中时,select2不起作用
- 通过MVC3、JQuery、Ajax、JSON填充带有JSON结果的下拉框 - 级联下拉框
- 重置select2的值并显示占位符
- https://github.com/select2/select2/issues/3057
- https://github.com/select2/select2/issues/1436
最后,在查看了https://select2.org/troubleshooting/common-problems之后,我尝试了dropdownParent: $('#myModal')
和
//在初始化任何模态框之前执行此操作 $.fn.modal.Constructor.prototype.enforceFocus = function() {};
这两个解决方法都没有起作用,所以我真的快要放弃使用模态框了。基本上,我从服务器获取了一个JSON对象的数据,然后使用这些数据来填充模态框。除了第一个组合框,其他所有元素(其中包括几个选择/组合框)的填充都正常工作。
非常感谢您的帮助,如果答案已经发布在其他地方,对不起,我找不到。
问题原因:在使用jQuery select2插件时,修改select的值后,插件未能正确更新选项。
解决方法:使用.trigger('change')方法来触发select的change事件,从而使插件能够正确更新选项。
修复前代码:
$('select#SubdivisionId').val(data.SubdivisionId);
修复后代码:
$('select#SubdivisionId').val(data.SubdivisionId).trigger('change');
参考链接:https://select2.org/programmatic-control/add-select-clear-items