簡體   English   中英

設置選擇菜單的選擇值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM