我有一个带有angular-ui-typeahead自动完成的输入。
用户开始键入,他们可以从自动完成中选择一个选项,或者键入未列出的文本。
如果用户不使用自动完成功能,我必须更改标签的文本,说明this element will be added
<input
ng-blur="checkIfNewProvider()"
ng-model="providerSelected"
uib-typeahead="provider as provider.name for provider in providers | filter:$viewValue | limitTo:8" placeholder="{{ 'new-product.provider.placeholder' | locate }}"
/>我正在检查字段的模糊程度,看看选择的选项是不是在自动补全上。
问题是,当用户点击自动完成显示的选项菜单时,模糊会被触发,标签也会改变。
再次离开该字段后,将再次触发模糊,并固定标签文本。
我可以触发什么事件,或者我可以做些什么来修复这个问题?
发布于 2015-12-02 01:33:10
您可以使用指令的属性typeahead-on-select($item, $model, $label),它会在从下拉菜单中选择元素时触发函数
<input
type="text"
ng-blur="blur()"
typeahead-on-select="blur()"
ng-model="selected"
uib-typeahead="provider as provider.name for provider in providers | filter:$viewValue | limitTo:8" class="form-control">另一种尝试是对模型执行$watch操作,并检查它是否与数组中的元素匹配。
https://stackoverflow.com/questions/34021489
复制相似问题