- 字段提示显示不完整
实际上,应该是这样的
原因:原本这个模块是隐藏的,初始化时this.$selection.find('.select2-selection__rendered').innerWidth()的长度为0,致使隐藏部分字段;重置选择框内容时,同时也会重置输入框的长度(调用Search.prototype.resizeSearch()方法)。
解决:
- 升级select2的版本,(我的版本是4.0.6-rc.0),升级到4.1.*;
- 修改插件select2.min.js;
Search.prototype.resizeSearch = function () {
this.$search.css('width', '25px');
var width = '';
if (this.$search.attr('placeholder') !== '') {
width = this.$selection.find('.select2-selection__rendered').innerWidth();
} else {
var minimumWidth = this.$search.val().length + 1;
width = (minimumWidth * 0.75) + 'em';
}
this.$search.css('width', width);
};
修改为
Search.prototype.resizeSearch = function () {
this.$search.css('width', '25px');
var width = '100%';
if (this.$search.attr('placeholder') === '') {
var minimumWidth = this.$search.val().length + 1;
width = (minimumWidth * 0.75) + 'em';
}
this.$search.css('width', width);
};