2017-05-30 1 views
0

こんにちは、angularjsでWebアプリケーションを開発しています。私はドロップダウンボックスリストを持っている内部に1つのHTMLフォームがあります。私はここで2つのシナリオを持っています。最初に、以下のように値をドロップダウンにバインドします。Angularjsのdropdownboxlistの値を設定するには?

<select ng-model="user.Nationality" 
     name="nationality" 
     id="Nationality" 
     ng-options="user.Nationality for user in nationalityList" 
     required> 
    <option value="" label="Nationality">Nationality</option> 
</select> 

2つ目のシナリオは、私が存在する場合にバインドしたいページのロード以前に選択したデータです。いくつかの国で既にデータを使用している場合(例えば、ユーザーが以前にインドとして国籍を選択していた場合など)は、インドのみをドロップダウンにバインドします。 以下は私のオブジェクトがapi呼び出しで受信しています。

"NationalitObj": 
{ 
     "ID":1, 
     "Nationality":"indian" 
}, 

ここで、上記のdropdoownboxlistの国籍をインドに設定したいと考えています。

以下は、私がどのように国籍の値を設定しようとしているかのコードです。

$scope.nationalityList = PersonalInfo.NationalitObj; 
$scope.user.Nationality = $scope.nationalityList.Nationality; 

これは、「国籍」が未定義のプロパティを設定できません。私はこれをどうすればいいのか分かりますか?どんな助けもありがとう。

ありがとうございます。

+0

$ scope.user = []; – Gopalakrishnan

+0

あなたが最初の後に実行される2番目のwanrなら約束を見てください。 $ q.whenはあなたの解決策になります –

+0

ありがとうございます。 doesntは動く。 –

答えて

1

これを参照してください:この$ scope.user.Nationalityは、のような宣言を使用する前に

angular.module("app",[]) 
 
    .controller("ctrl",['$scope',function($scope){ 
 
    $scope.nationalityList = [ 
 
     {Id:1, Nationality:'Indian'}, 
 
     {id:2, Nationality:'American'} 
 
    ]  
 
    $scope.user = {}; 
 
    $scope.user.Nationality = $scope.nationalityList[0].Id; 
 
    }])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<html> 
 
<body ng-app="app" ng-controller="ctrl"> 
 
<select ng-model="user.Nationality" 
 
     name="nationality" 
 
     id="Nationality" 
 
     ng-options="user.Id as user.Nationality for user in nationalityList" 
 
     required> 
 
    <option value="" label="Nationality">Nationality</option> 
 
</select> 
 
</body> 
 
<html>

+0

apiが "NationalitObj"を返した場合:{"ID":1、 "Nationality": "indian"}上記のコードで何を変更する必要がありますか? –

+0

$ scope.user.Nationality = $ scope.NationalitObj.Id;このように割り当てます – Jenny

+0

$ scope.user = {}; $ scope.user.Nationality = PersonalInfo.NationalitObj.ID;これは正しく動作するはずですか? –

関連する問題