2014-09-30 34 views
0

我想获取名称来显示每个元素,但我得到每个元素相同的名称。下面的代码:Angular-UI Typeahead指令的正确表达式是什么?

查看:

<li class="list-group-item" ng-controller="MenuItemEditTypeaheadCtrl"> 
    <input type="text" ng-model="selectedItem" typeahead="menuItem.name for name in menuItems | limitTo:3" class="typeahead"> 
</li> 

JSON:

[{name: "Soda", price: "2.99"}, {name: "Chips", price: "0.99"}] 

回答

0
text=[{name: "Soda", price: "2.99"}, {name: "Chips", price: "0.99"}]; 
obj=JSON.parse(text); 

打印OBJ使用循环

的obj [0]。名称将打印 “苏打” OBJ [1] .name将打印“芯片”

+0

谢谢你的答案,但我不认为我充分转达我的问题是关于我需要的“表达”公式。 – SimonStiph 2014-10-01 09:36:46

0

这是正确答案:

“menuItem in menuItems中的menuItem.name | limitTo:5 |过滤器:{名称:$ viewValue}”

0

尝试像下面

脚本:

$scope.menuItems = [{name: "Soda", price: "2.99"}, {name: "Chips", price: "0.99"}]; 

HTML:

<li class="list-group-item" ng-controller="MenuItemEditTypeaheadCtrl"> 
    <input type="text" ng-model="selectedItem" typeahead="menuItem.name for menuItem in menuItems | filter:$viewValue | limitTo:3 " class="typeahead"> 
</li> 

注: $ viewValue对应由用户输入的值

如果你想用一个服务器,以配合您的角度预输入则是指此以下链接

How to tie angular-ui's typeahead with a server via $http for server side optimization?

+0

感谢您的回答!如果我错了,请纠正我: limitTo过滤器应该是最后一个,因为如果angular按顺序处理过滤器,然后传递一个缩短的数组,那么在过滤之前限制数组将会在列表中留下好结果,因为它在检查它是否匹配之前被任意删除。 – SimonStiph 2014-10-01 10:48:31

+0

你是绝对正确的......我更新了我的答案,并感谢您纠正我的错误 – SDK 2014-10-01 10:53:55

相关问题