覆盖Select2的最小长度字符串

A.J*_*.J. 19 jquery-select2

Select2 Jquery插件

我很难在jquery Select2中覆盖默认消息的最小长度输入.

默认情况下,插件提供以下消息.

默认文字

Please enter 1 more characters
Run Code Online (Sandbox Code Playgroud)

我的要求是显示以下文字

必填文字

Enter 1 Character
Run Code Online (Sandbox Code Playgroud)

请分享解决方案.谢谢.

Pau*_*aul 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);
Run Code Online (Sandbox Code Playgroud)

要全局覆盖这些函数,请set在默认值上调用该函数(根据文档):

$.fn.select2.defaults.set("key", "value")
Run Code Online (Sandbox Code Playgroud)

但是,在我们的代码中,我们这样做:

$.fn.select2.defaults.defaults['language'].searching = function(){
  return 'Custom searching message'
};
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我们不遵循文档,但它有效.

  • 似乎没有关于语言选项的文档。找到它们的唯一方法是查看源 https://github.com/select2/select2/blob/master/src/js/select2/i18n/en.js (2认同)

A.J*_*.J. 22


这是我发现的解决方案.

在v4之前

初始化

$("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";
            },  
});
Run Code Online (Sandbox Code Playgroud)

注意

不要忘记在文档中添加此代码.准备好的功能

       $(document).ready(function () {
});
Run Code Online (Sandbox Code Playgroud)

我分享了我的解决方案,欢迎任何更好的解决方案

谢谢.

使用v4及以上版本

以下适用于V4.@Isaac Kleinman language: { inputTooShort: function () { return ''; } },

  • 这在v4中适用于我:`language:{inputTooShort:function(){return''; ,} (10认同)
  • 是否可以在选择对象已初始化时进行更改? (2认同)

Roh*_*ami 5

您可以在 4.0 或更高版本上尝试此操作,您可以从此链接中查看答案参考问题参考

$("#select2").select2({
    minimumInputLength: 1,
  language: {
    inputTooShort: function() {
        return 'Please Add More Text';
    }
  }
});
Run Code Online (Sandbox Code Playgroud)