ui select angularjs set maxlength for input value (ui select match)

喜你入骨 提交于 2019-12-02 05:43:33

You can limit your collection using the angular's limitTo filter. Look at the limitTo reference.

As per my understanding, you are using ui-select with tagging (as combo-box).

in this to achieve your desired functionality:

go to ui-select plugin.js and edit the template "select2/select.tpl.html" (for theme select2):

ng-attr-maxlength="{{$select.tagging.isActivated ? 50 : ''}}"

add the above line to template as shown here:

<input type=\"search\" ........... ng-attr-maxlength=\"{{$select.tagging.isActivated ? 500 : ''}}\">

if you want to restrict input search itself then directly add maxlength attribute:

<input type=\"search\" ........... maxlength=\"500\">

Hope this helps. :-)

You can change attribute through templateCache

.run(function($templateCache) {
        $templateCache.put("bootstrap/select-multiple.tpl.html","<div class=\"ui-select-container ui-select-multiple ui-select-bootstrap dropdown form-control\" ng-class=\"{open: $select.open}\"><div><div class=\"ui-select-match\"></div><input maxlength='5' type=\"search\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ui-select-search input-xs\" placeholder=\"{{$selectMultiple.getPlaceholder()}}\" ng-disabled=\"$select.disabled\" ng-click=\"$select.activate()\" ng-model=\"$select.search\" role=\"combobox\" aria-expanded=\"{{$select.open}}\" aria-label=\"{{$select.baseTitle}}\" ng-class=\"{\'spinner\': $select.refreshing}\" ondrop=\"return false;\"></div><div class=\"ui-select-choices\"></div><div class=\"ui-select-no-choice\"></div></div>");
    })

Original templates can be find on bottom of file select.js

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!