我的模型中有一个字符串数组,我想为每个字符串创建一个文本输入,并使用Twitter Bootstrap typeahead将它们绑定到数组。这是我尝试过的:
<div class="control-group inline" ng-repeat="offer in userinfoadd.offers">
<label class="control-label" for="offer">Offer </label>
<div class="controls">
<input type="text" bs-typeahead="typeahead" value="{{offer}}">
</div>
</div>
以下是我的控制器中的代码:
$scope.userinfoadd = {
offers: ['one','two','three','four','five']
};
//get the typeahead
$http.get('data/activities.json').success(function(data) { //TODO: Stub, replace for an API call!
$scope.typeahead = data;
});
现在输入渲染但它们不起作用。有什么想法吗?
答案 0 :(得分:0)
您需要将模型绑定到输入,如下所示,然后它应该工作:
<input type="text" bs-typeahead="typeahead" ng-model="userinfoadd.offers[$index]" />
请在此处查看一个简单示例:http://jsfiddle.net/flek/hwpuT/
<强>更新强>
不幸的是,这似乎不是一个优雅的想法,因为一旦你偶然输入数组,Angular会重新呈现你的列表,每当你输入1个字符时,它会模糊你的输入。