使用ng-repeat为字符串数组中的每个值创建输入

时间:2013-02-16 10:46:39

标签: javascript angularjs bootstrap-typeahead

我的模型中有一个字符串数组,我想为每个字符串创建一个文本输入,并使用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;
  });

现在输入渲染但它们不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要将模型绑定到输入,如下所示,然后它应该工作:

<input type="text" bs-typeahead="typeahead" ng-model="userinfoadd.offers[$index]" />

请在此处查看一个简单示例:http://jsfiddle.net/flek/hwpuT/

<强>更新

不幸的是,这似乎不是一个优雅的想法,因为一旦你偶然输入数组,Angular会重新呈现你的列表,每当你输入1个字符时,它会模糊你的输入。