[英]Set selected value for select menu
我想為選擇菜單設置選擇的值。 值來自$ stateParams。 因此,我正在使用ui-router,並且select菜單處於子狀態。 這是我嘗試的。
這是可行的,但我不能拉i。
使用Javascript:
.controller('nbgCtrl',function ($scope, MMG, $stateParams) {
var milo = $stateParams.serix;
var musti = $stateParams.klasor;
MMG.adlar.success(function(loHemen, milo, musti) {
var i;
for (i=0; i<loHemen.length; i++) {
if (loHemen[i].seri===milo) {
break;
};
};
console.log(i);
$scope.mangalar = loHemen;
$scope.selManga = $scope.mangalar[0];
});
.factory('MMG', function($http){
var fveg= {};
var url = 'http://api.example.com/manga?callback=JSON_CALLBACK';
fveg.adlar = $http.jsonp(url);
return fveg;
})
HTML:
<select ng-model="selManga" ng-options="manga.seri for manga in mangalar">
<option value="">Select a Manga</option>
</select>
JSON:
[{"seri": "Naruto",
"randomword": [{
"klasor": "138",
"yol": [
]
},
{
"klasor": "300",
"yol": [
]
}
]
},
{
"seri": "One Piece",
"randomword": [
{
"klasor": "137",
"yol": [
]
}
]
}
])
您的for循環邏輯並不完全正確。 如果執行循環主體,則您的成功函數將返回i
(它將為0),而函數主體的其余部分將不運行。 您應該將if條件移到循環內部。
.controller('nbgCtrl',function ($scope, MMG, $stateParams) {
var milo = $stateParams.serix;
var musti = $stateParams.klasor;
// remove the milo and musti variables in your promise callback
// or if you actually want to have the response code and the headers,
// give them appropriate variable names
MMG.adlar.success(function(loHemen) {
var i, miloMangaInArray;
for (i=0; i<loHemen.length; i++) {
if (loHemen[i].seri===milo) {
miloMangaInArray = loHemen[i];
break;
}
};
console.log('found value or undefined',miloMangaInArray);
$scope.mangalar = loHemen;
$scope.selManga = miloMangaInArray;
});
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.