2017-09-25 5 views
1

J'ai une balise select dans mon code html comme ceci:tag Sélectionnez ng-modèle retourne une valeur non définie

<select ng-model="brandList" name="brandList" style="width:110px;" > 
    <option value="" selected>---Please select---</option> 
    <option ng-repeat="item in brandnameList | unique:'brandname'" value="{{item.brandname}}" style="width:50px;"> {{item.brandname}}</option> 

</select> 

Les valeurs de mon select a été extraite de la base de données via l'API et le code va comme ceci.

adminService.getbrandnameList() 
       .then(function(data){ 
        $scope.brandnameList = data.data; 
        $scope.brandn=data.data[0].brandname; 

      }); 

J'ai une autre fonction qui a besoin de la valeur sélectionnée sur la balise select

$scope.ExportmodalAdmin = function() { 
      alert( $scope.brandList) 
    } 

Mais le modèle pour la sélection qui est $ scope.brandList retourne une valeur non définie. Comment puis-je réparer cela? J'ai besoin de la valeur de la balise de sélection à transmettre à la fonction.

+0

post exemple JSON vous obtenez de 'adminService.getbrandnameList()' –

+0

Votre code est correct mais votre miss ing pour définir la variable $ scope.brandList = {}; avant la méthode ExportmodalAdmin – Chandru

+0

Copie possible de [Comment faire ng-repeat filtre les résultats en double] (https://stackoverflow.com/questions/15914658/how-to-make-ng-repeat-filter-out-duplicate-results – user93

Répondre

0

Espérons que vous avez défini la variable brandList dans votre contrôleur.

$scope.brandList = {}; 

En outre, Modifiez votre instruction ng répétition comme ci-dessous:

<select ng-model="brandList" name="brandList" ng-options="item.brandname for item in brandnameList" style="width:110px;" ng-change="alertChange()" > 
    <option value="" selected>---Please select---</option> 
</select> 

Code contrôleur pour vérifier le changement:

$scope.alertChange = function(){ 
    alert($scope.brandList.brandname); 
    }; 

regard à la référence de plunker ici plunk

+0

J'ai défini la variable brandList dans mon contrôleur mais il renvoie {object | object} valeur. Lorsque je modifie mon instruction ng-repeat, la liste déroulante select n'a pas de valeur listée – bleykFaust

+0

Pouvez-vous publier le résultat de la fonction getbrandnameList() – Kalyan

+0

le résultat de la fonction getbrandnameList() est comme ceci [ { "brandname": "Aromatherapy Associates" }, { ":" nom de marque "ST.TROPEZ" }, { "nom de marque": "Sampar" }, { "nom de marque": "Black Jack" }, { "nom de marque": "CeraVe" } ] – bleykFaust