问题描述
我有这样的JSON响应:
{
Unidades:[
{
诺姆:laskjdhflksjfg,
Codigo:11106600
},
{
诺姆:wertwertwertwer,
Codigo:11106601
},
{
诺姆:wertwertwertwer,
Codigo:11106602
}
]
}
和我试图用角UI引导typehead这样做:
控制器
函数TypeaheadCtrl($范围,$ HTTP){
$ scope.selected =不确定;
$ scope.url ='unidades / unidades-controler.asp'; // JSON的反应就是从这里开始
$ http.get($ scope.url).success(功能(数据,状态){
$ scope.Unidades =数据[0] .Unidades;
})错误(功能(数据,状态){
$ scope.response ='请求失败';
});
}
HTML
< DIV NG控制器=TypeaheadCtrl>
< pre>产品型号:{{选择| JSON}}< / pre>
<输入类型=文本NG模型=选择预输入=Unidade.Codigo在Unidades Unidade.Nome为Unidade |过滤器:$ viewValue | limitTo:8级=表格控>
< / DIV>
我的问题是:我需要< pre>产品型号:{{选择| JSON}}< / pre>
显示 Unidade.Codigo
价值,我需要<输入TYPE =文本NG模型=选择预输入=Unidade.Codigo在Unidades Unidade.Nome为Unidade |过滤器:$ viewValue | limitTo:8级=表格控>
显示 Unidade.Nome
值。我该怎么做呢?
这是我得到了什么:
而这正是我需要的:
我按照普拉克这个例子使这个改变:,但仍然没有工作:
HTML
< DIV CLASS ='集装箱液'NG控制器=TypeaheadCtrl>
< pre>产品型号:{{精选| JSON}}< / pre>
<输入类型=文本NG模型=选择预输入=Unidade.Codigo作为Unidade.Nome为Unidade在getUnidades($ viewValue)|过滤器:$ viewValue | limitTo:8级=表格控 />
< / DIV>
控制器
函数TypeaheadCtrl($范围,$ HTTP){
$ scope.selected =不确定;
$ scope.url ='unidades / unidades-controler.asp'; // JSON的反应就是从这里开始
$ http.get($ scope.url).success(功能(数据,状态){
$ scope.Unidades =数据[0] .Unidades;
})错误(功能(数据,状态){
$ scope.response ='请求失败';
});
$ scope.getUnidades =功能($ viewValue){
返回$ http.get($ scope.Unidades)。然后(功能(响应){
返回的数据;
});
};
}
错误
GET http://localhost/[object%20Object],[object%20Object],[…t],[object%20Object],[object%20Object],[object%20Object],[object%20Object] 400(错误请求)
我也试着这样做:
函数TypeaheadCtrl($范围,$ HTTP){
$ scope.selected =不确定;
$ scope.url ='unidades / unidades-controler.asp'; // JSON的反应就是从这里开始
$ scope.getUnidades =功能($ viewValue){
返回$ http.get($ scope.url).success(功能(数据,状态){
返回的数据;
})错误(功能(数据,状态){
$ scope.response ='请求失败';
});
};
}
但我收到此错误:
的ReferenceError:响应没有定义
好吧,这是我做的,并且工作。
< DIV NG控制器=TypeaheadCtrl>
< pre>产品型号:{{selected.Codigo | JSON}}< / pre>
<输入类型=文本NG模型=选择预输入=Unidade在Unidades Unidade.Nome为Unidade |过滤器:$ viewValue | limitTo:8级=表格控>
< / DIV>
我只是改变了 typehead
到 Unidade作为Unidade.Nome为Unidade在Unidades
和模型里面我只用我所需要的:开始 selected.Codigo
感谢大家!
I have a JSON response like this:
{
"Unidades": [
{
"Nome": "laskjdhflksjfg",
"Codigo": "11106600"
},
{
"Nome": "wertwertwertwer",
"Codigo": "11106601"
},
{
"Nome": "wertwertwertwer",
"Codigo": "11106602"
}
]
}
and I'm trying to use Angular-UI bootstrap typehead doing this:
CONTROLLER
function TypeaheadCtrl($scope, $http) {
$scope.selected = undefined;
$scope.url = 'unidades/unidades-controler.asp'; //the response of json is from here
$http.get($scope.url).success(function (data, status) {
$scope.Unidades = data[0].Unidades;
}).error(function (data, status) {
$scope.response = 'Request failed';
});
}
HTML
<div ng-controller="TypeaheadCtrl">
<pre>Model: {{selected | json}}</pre>
<input type="text" ng-model="selected" typeahead="Unidade.Codigo as Unidade.Nome for Unidade in Unidades | filter:$viewValue | limitTo:8" class="form-control">
</div>
My problem is: I need that <pre>Model: {{selected | json}}</pre>
shows Unidade.Codigo
value, and I need that <input type="text" ng-model="selected" typeahead="Unidade.Codigo as Unidade.Nome for Unidade in Unidades | filter:$viewValue | limitTo:8" class="form-control">
Shows Unidade.Nome
value. How do I do that?
This is what I got:
And this is what I need:
I made this changes by following this example plunk: http://plnkr.co/edit/ibIMDNmK26E4mTdDK5dD?p=preview, but still not working:
HTML
<div class='container-fluid' ng-controller="TypeaheadCtrl">
<pre>Model: {{Selected| json}}</pre>
<input type="text" ng-model="Selected" typeahead="Unidade.Codigo as Unidade.Nome for Unidade in getUnidades($viewValue) | filter:$viewValue | limitTo:8" class="form-control" />
</div>
CONTROLLER
function TypeaheadCtrl($scope, $http) {
$scope.selected = undefined;
$scope.url = 'unidades/unidades-controler.asp'; //the response of json is from here
$http.get($scope.url).success(function (data, status) {
$scope.Unidades = data[0].Unidades;
}).error(function (data, status) {
$scope.response = 'Request failed';
});
$scope.getUnidades = function($viewValue) {
return $http.get($scope.Unidades).then(function(response){
return data;
});
};
}
ERROR
GET http://localhost/[object%20Object],[object%20Object],[…t],[object%20Object],[object%20Object],[object%20Object],[object%20Object] 400 (Bad Request)
I have also tried doing this:
function TypeaheadCtrl($scope, $http) {
$scope.selected = undefined;
$scope.url = 'unidades/unidades-controler.asp'; //the response of json is from here
$scope.getUnidades = function($viewValue) {
return $http.get($scope.url).success(function (data, status) {
return data;
}).error(function (data, status) {
$scope.response = 'Request failed';
});
};
}
But I receive this error:
ReferenceError: response is not defined
Ok, this is what I did, and worked.
<div ng-controller="TypeaheadCtrl">
<pre>Model: {{selected.Codigo | json}}</pre>
<input type="text" ng-model="selected" typeahead="Unidade as Unidade.Nome for Unidade in Unidades | filter:$viewValue | limitTo:8" class="form-control">
</div>
I just changed the typehead
to Unidade as Unidade.Nome for Unidade in Unidades
and inside the model I'm using only what I need: selected.Codigo
Thank you all!
这篇关于不能用角UI引导typehead:JSON具有多个属性,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!