5

プロジェクトでangularjsを使い始めました。ここで私はクエストを持っています。私は以下のHTMLを持っています

<div>
<label for="lastname">Bank Name :</label> 
<select ui-select2 ng-model="bank.id">
    <option></option>
    <option ng-repeat="bank in banks" value="{{bank.id}}">{{bank.text}}</option>
</select>
</div>

すべての銀行をドロップダウンに繰り返します。ユーザーが選択して SAVE を押します。IDを正しく取得してDBに保存しました。ユーザーが戻ってきたときに、ドロップダウンの値を選択した値に設定できませんでした。私はcontroller.jsでこれを行います

$http.get('/AdServerLongTail/api/user').
success(function(data, status, headers, config) {
    if(status == 200){
        $scope.id = (data["id"]);// user id                 
        $scope.bank.id = (data["bankId"]);                  
    }
}).
error(function(data, status, headers, config) {
    alert("fail");
}); 

XX Bank である bankID 11 letssay に設定するにはどうすればよいですか?

4

3 に答える 3

15

この方法で ng-repeat を使用しないでください。ngOptions http://docs.angularjs.org/api/ng.directive:selectをご覧ください。

于 2013-05-12T08:36:18.793 に答える
10

私は角度が初めてで、これに少し苦労しています。これを行う単純なタグを次に示します。これは ng-selected です。

<option ng-repeat="bank in banks" value="{{bank.id}}" ng-selected="'11' == bank.id" >{{bank.text}}</option>

ただし、繰り返しますが、 Landerのアドバイスに従って、このようにしないでください。むしろ使用ng-optionsして<select>ください。そうしないと、モデルの dropdown.assign の最初のオプションが空になりbank.selected.idます(ここでは、ng-model は bank.id です)。

<select ng-model="bank.selected.id" ng-change="someAngularfunction()" ng-options=" (''+bank.id) as (bank.id +' - '+ bank.text) for bank in banks">
                    <option value="">Select one</option>
</select>

また、オプション値はオプションの銀行 ID を表示しないことを覚えておいてください。むしろ、インデックスであるオプション値="0" または "1" または "3" が表示されます。bank.selected.idただし、ドロップダウンで選択した値はモデルにバインドされます。たとえば、ドロップダウン値がたとえば bank.id=11 (XX 銀行) として選択されている場合、bank.selected.id は "11" として設定されます。

于 2013-11-07T16:39:07.947 に答える
2

私はそれを見つけたので、それを見逃したのはとても簡単です。これが正しいコードです。

<div>
<label for="lastname">Bank Name :</label> 
<select ui-select2 ng-model="bank">
    <option></option>
    <option ng-repeat="bank in banks" value="{{bank.id}}">{{bank.text}}</option>
</select>
</div>

$http.get('/AdServerLongTail/api/user').
success(function(data, status, headers, config) {
    if(status == 200){
        $scope.id = (data["id"]);// user id                 
        $scope.bank = (data["bankId"]);                  
    }
}).
error(function(data, status, headers, config) {
    alert("fail");
}); 
于 2013-04-30T12:03:45.813 に答える