我想要一个额外的属性,就像"占位符"是从ui选择匹配传递。我想设置maxlength的选择输入。我可以通过select.min.js添加属性maxlength="来设置它,但我认为更改lib。文件不是解决方案。
就像我在input
中添加了maxlength="500"一样请帮帮我。
谢谢
你可以使用angular的limitTo过滤器来限制你的集合。查看limitTo引用
根据我的理解,您正在使用带有标签的ui-select(作为组合框)。
来实现你想要的功能:
进入ui-select plugin.js并编辑模板"select2/select.tpl.html"(对于主题select2):
ng-attr-maxlength = " {{select.tagging美元。isActivated吗?50: "}}"
将上述行添加到模板中,如下所示:
<input type="search" ........... ng-attr-maxlength="{{$select.tagging.isActivated ? 500 : ''}}">
如果你想限制输入搜索本身,那么直接添加maxlength属性:
<input type="search" ........... maxlength="500">
希望这对你有帮助。: -)
您可以通过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>");
})
原始模板可以在select.js文件的底部找到