我很难在jquery Select2中覆盖默认消息的最小长度输入。
默认情况下,插件会显示以下消息。
Please enter 1 more characters
我的要求是显示以下文字
Enter 1 Character
请分享解决方案。 谢谢。
答案 0 :(得分:27)
接受的答案对Select2 v4不起作用。扩展@IsaacKleinman的注释,覆盖单个Select2实例的默认消息的方法是通过language
属性:
var opts = {
language: {
inputTooShort: function(args) {
// args.minimum is the minimum required length
// args.input is the user-typed text
return "Type more stuff";
},
inputTooLong: function(args) {
// args.maximum is the maximum allowed length
// args.input is the user-typed text
return "You typed too much";
},
errorLoading: function() {
return "Error loading results";
},
loadingMore: function() {
return "Loading more results";
},
noResults: function() {
return "No results found";
},
searching: function() {
return "Searching...";
},
maximumSelected: function(args) {
// args.maximum is the maximum number of items the user may select
return "Error loading results";
}
}
};
$('#mySelect').select2(opts);
要全局覆盖这些函数,请在默认值(according to the docs)上调用set
函数:
$.fn.select2.defaults.set("key", "value")
但是,在我们的代码中,我们这样做:
$.fn.select2.defaults.defaults['language'].searching = function(){
return 'Custom searching message'
};
我不知道为什么我们不遵循文档,但它有效。
答案 1 :(得分:22)
这是我发现的解决方案。
$("input[name='cont_responsible'],input[name='corr_responsible'],input[name='prev_responsible'],input[name='pfmea_responsible']").select2({
minimumInputLength: 1,
formatInputTooShort: function () {
return "Enter 1 Character";
},
});
不要忘记在您的文档中添加此代码。准备好的功能
$(document).ready(function () {
});
我分享了我的解决方案,欢迎任何更好的解决方案。
感谢。
以下适用于V4。 @Isaac Kleinman
language: { inputTooShort: function () { return ''; } },
答案 2 :(得分:4)
您可以在4.0或更高版本上尝试 您可以通过以下链接查看参考答案: issues reference
$("#select2").select2({
minimumInputLength: 1,
language: {
inputTooShort: function() {
return 'Please Add More Text';
}
}
});
答案 3 :(得分:0)
如果您使用的是 django-select2,只需在 forms.py 中向表单添加属性:
widget=BookSelect2Widget(
attrs={'data-minimum-input-length': 1}
)
答案 4 :(得分:-2)
select2扩展用于本地化覆盖字符串
$.fn.select2.defaults = $.extend($.fn.select2.defaults, {
formatMatches: function (matches) { return matches + $filter('translate')('label.matches.found'); },
formatNoMatches: function () { return $filter('translate')('noMatches.found'); },
formatInputTooShort: function (input, min) { var n = min - input.length; return $filter('translate')('label.please.enter ') + n + $filter('translate')(' more.characters')+ (n == 1? "" : "s"); },
formatInputTooLong: function (input, max) { var n = input.length - max; return $filter('translate')('please.delete ') + n + $filter('translate')('')('delete.characters') + (n == 1? "" : "s"); },
formatSelectionTooBig: function (limit) { return $filter('translate')('select.only') + limit + $filter('translate')('select.item ') + (limit == 1 ? "" : "s"); },
formatLoadMore: function (pageNumber) { return $filter('translate')('load.results'); },
formatSearching: function () { return $filter('translate')('label.search'); }
});
}