对于当前版本的 bootstrap-multiselect,我对 bootstrap-multiselect.js 文件进行了以下更改。虽然我讨厌编辑源文件,但没有结果消息是客户的要求。
将此代码放在“buildFilter:function()”上方:
_$customNoResultsLi: null,
_toggleCustomNoResults: function () {
if (this._$customNoResultsLi === null) {
this._$customNoResultsLi = $('<li class="customNoResults">No Search Results</li>')
.appendTo(this.$ul);
}
if (this.$ul.find('li:not(.filter-hidden) input[type="checkbox"]').length == 0) {
this._$customNoResultsLi.show();
} else {
this._$customNoResultsLi.hide();
}
},
然后在 buildFilter() 中,我在“this.updateSelectAll();”之前添加以下内容:
//CUSTOM CODE
this._toggleCustomNoResults();
本质上,当所有复选框都被隐藏时,此代码将添加“无结果”消息。