AngularJS ui-select最小输入长度,不告诉用户输入更多字符

时间:2016-09-14 13:13:21

标签: angularjs select2 ui-select

是否有任何已经制作的扩展名甚至是内置选项,用于angularJS的ui-select(select2主题)来显示信息,供用户输入更多字符以便在使用时显示结果

 minimum-input-length=3

选项?我说的是像

这样的功能
formatInputTooShort(function() {return "Input more characters!;});

在jQuery select2(https://select2.github.io/select2/)。

此处使用我使用的库版本进行基本选择设置的plunker:http://plnkr.co/edit/K9alAMAzvUqCY7Or8RwY?p=preview

我已经谷歌搜索了很多年,并且找不到任何现有的解决方案。

对于那些不是非常有效的代码段,我不得不使用它们来包含plunker片段。任何帮助或提示都表示赞赏。

2 个答案:

答案 0 :(得分:0)

我的UI中遇到了类似的问题。我使用了angular-ui并将其用于我的所有下拉菜单(有几个)。虽然这不是原生的select2选择,但使用属性theme="select2"

时,angular-ui下拉列表可用于生成下拉列表,就像select2一样

要限制输入至少3个字符,请执行以下操作:

Controller JS:

$scope.limitTitleSearch = 5000; //this should be initialised to more than the number of entries the dropdown holds
$scope.checkTitle = function(lettersTyped){
        if(lettersTyped.length > 2){
            $scope.limitTitleSearch = 500;
        }else{
            $scope.limitTitleSearch = 0;
        }
    }

HTML:

用于显示输入超过3个字符的信息。像:

<ui-select-no-choice>
    Type at least 3 chars for options to load
</ui-select-no-choice>

并使用refresh的{​​{1}}属性来调用该JS函数。

所以你的HTML看起来

ui-select-choices

希望这会有所帮助。 :)

答案 1 :(得分:0)

请参阅以下与您的问题类似的链接:

https://stackoverflow.com/a/41757481/4434112

但是在你的情况下,在ui-select plugin.js中编辑模板&#34; select2 / select.tpl.html&#34; (对于主题select2)将占位符更改为所需的消息

占位符=&#34;输入最少3个字符!&#34;

所以在模板中它将如下所示:

<input type=\"search\" ........... placeholder=\"Input minimum 3 characters!\">