我正在使用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);
});
}
,但由于列表 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" />
任何指针?提前谢谢。
答案 0 :(得分:0)
我认为typeahead指令不支持开箱即用。通过将items
简化为一个简单数组并将简化数组传递给callback
,您可以非常轻松地绕过它。如果您以后确实需要这些对象,可以$scope.storedItem = items
。