我有一个带有输入标签的表单,我想使用自动完成功能,允许用户输入名称,并在用户输入名称字符时显示自动完成建议。
我的问题是如果用户不想使用自动完成名称并希望使用自定义名称,如何在我的控制器中访问它。
我无法在此输入标记上设置ng-model,因为它由angucomlete-alt内部管理。
我在ng-repeat中有这个autocomlete-alt标签。
<div ng-repeat="resident in vm.residents">
<div class="form-group">
<label class="col-lg-2 col-sm-2 control-label">Name</label>
<div class="col-lg-6">
<angucomplete-alt
placeholder="Name"
pause="100"
selected-object="residentSelected"
search-fields="name"
title-field="name"
minlength="1"
remote-api-handler="searchApi"
remote-url-response-formatter="searchResponseFormatter"
input-class="form-control form-control-small"
match-class="highlight"
clear-selected="true">
</div>
</div>
</div>
此外,我的要求是在名称字段下方的其他输入标记上设置所选对象的字段,如何通过模型绑定在resident(iterator)
上设置字段。
我无法在augucomplete-alt上设置ng-model,以便它反映在ng-repeat的resident(iterator)
上。
我的目标是能够从angucomplete标签本身为resident
分配/绑定值。
任何人都可以提前帮助我。
答案 0 :(得分:2)
嗯,你只需要这样做....
<angucomplete-alt
placeholder="Name"
pause="100"
selected-object="residentSelected"
search-fields="name"
title-field="name"
minlength="1"
remote-api-handler="searchApi"
remote-url-response-formatter="searchResponseFormatter"
input-class="form-control form-control-small"
match-class="highlight"
clear-selected="true"
override-suggestions="true"/>
倍率-建议=&#34;真&#34; :此属性会覆盖您的选择,并将您选择的对象属性设置为您在字段中键入的自定义输入。
以下是Link
的文档答案 1 :(得分:1)
使用覆盖建议。 看看这个例子4
http://ghiden.github.io/angucomplete-alt/#example4
这是一个使用ng-repeat
的工作示例http://plnkr.co/edit/6IiUul?p=preview
$scope.residentSelected = function(selected) {
if (selected.originalObject.name) {
$scope.vm.residents[this.$parent.$index].name = selected.originalObject.name;
} else {
console.log('overriding selection');
$scope.vm.residents[this.$parent.$index].name = selected.originalObject;
}
}