如何知道用户何时停止在angularJS中编辑自动完成字段

时间:2015-12-01 13:22:19

标签: javascript angularjs angular-ui-typeahead

我有一个输入,其中包含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 }}" 
/>

如果选择的选项是否在自动完成上,我正在检查字段的模糊。

问题在于,当用户点击自动编辑显示的选项菜单时,会触发模糊,并且标签会更改。

再次离开该字段后,再次触发模糊,并修复标签文本。

我可以触发什么事件,或者我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以使用指令的属性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 模型并检查它是否与数组中的元素匹配。