带有bootstrap typeahead的ng-model功能

时间:2014-10-13 18:33:05

标签: angularjs

这是一个相当奇怪的问题,但这可能是因为我不明白这是如何运作的。也许有人可以为我澄清。

这里有来自angular bootstrap typeahead的一些代码:

<input type="text" ng-model="customSelected" placeholder="Custom template" typeahead="state as state.name for state in statesWithFlags | filter:{name:$viewValue}" typeahead-template-url="customTemplate.html" class="form-control">

如果我理解正确,当用户输入&#39; a&#39;在textfield中,customSelected =&#39; a&#39;。当用户输入&#39; ab&#39;时,customSelected为&#39; ab&#39;。当用户从预先输入中选择一个项目时,customSelected将成为他们选择的对象(例如,可能类似于{title:&#39; abc&#39;,id:5})

我的理解是否正确?

如果是这样,是否可以将此类型设置为特定值?例如,我创建一个按钮。当用户单击该按钮时,就好像用户选择了预先输入的第一个项目。

我尝试设置$ scope.customSelected = statesWithFlags [0],但它没有工作......我认为它不会这样工作。

任何指导都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

如您所述,您必须初始化模型customSelected(您忘记了$ scope)

$scope.customSelected = $scope.statesWithFlags[ID];

选中此项:http://plnkr.co/edit/y25fqb?p=preview