2

我正在使用 angular.js/angularstrap[{'name': 'name1', 'code': 'code1'}, {'name': 'name2', 'code': 'code2']从远程源获取格式的元组列表。现在,如果能够结合名称和代码来预先输入自动完成功能,那就太好了。即查询“name1”应该获取第一个对象,“code2”应该返回第二个对象。

另外,我想用所选对象的值更新两个单独的字段。

这个问题与Typeahead using object name非常相似,但我无法让它与远程源一起工作。我是 angular.js 的新手,我真的很想提出一个解决方案,而不是退回到 jQuery。

现在我的控制器中有以下内容:

$scope.typeaheadFn = function(query, callback) {
    $http.get('/autocomplete?term='+query).success(function(items) {
        callback(items);
    });
}

,但这失败了,因为列表是非字符串对象的列表。我的 HTML 看起来像:

<input bs-typeahead="typeaheadFn" id="id_search" name="search" ng-model="search"  type="text">

和:

<input type="text" value="{| search.code |}" disabled="disabled" placeholder="Code" />
<input type="text" value="{| search.name |}" disabled="disabled" placeholder="Name" />

任何指针?提前致谢。

4

1 回答 1

0

我认为 typeahead 指令不能开箱即用地支持这一点。您可以通过缩减items为一个简单的数组并将缩减后的数组传递给callback. 如果你以后真的需要这些对象,你可以$scope.storedItem = items.

于 2013-04-19T16:53:39.473 回答