2016-06-29 9 views
0

これは、選択したフォームグループの外観です。アングル付きの応答に基づく自動選択選択オプション

<div class="form-group"> 
    <label>Active</label> 
    <select class="form-control" ng-model="activeState" > 
     <option ng-value="0" >No</option> 
     <option ng-value="1" >Yes</option> 
    </select> 
</div> 

と私は取得APIからの応答は、私の現在のケース{{activeState}} displays 11または0です。適切な選択が応答に基づいて自動的に選択されるという角度でこれを処理する方法は?

追加情報が必要な場合は、私にお知らせください。私が提供します。あなた

+0

現在のコードではどのような問題がありますか? –

+0

はいを​​自動的に選択しません –

+1

コントローラコードを表示できますか?私は、選択値が文字列として変換されるので、APIからの戻り値がintであると思われるため、要素は選択されません。 activeStateをAPI応答の文字列に変換してみてください。 –

答えて

2

ありがとう問題はvalue属性であり0値は、負荷の値をバインドしようとすると、その動作していない理由ですのでstring &あなたがアヤックスから得た値0(数)があるさです。これは簡単に私がオブジェクトvalue

マークアップ

<select class="form-control" ng-model="activeState" 
    ng-options="yesNo.value as yesNo.name for yesNo in yesNoOptions"> 
</select> 

コード

に値をバインドしないここ ng-optionsディレクティブを使用することができ好む $scope.activeState = '0';

をやって変更することで解決することができます

$scope.yesNoOptions = [ 
    {name: 'No', value: 0}, 
    {name: 'Yes', value: 1} 
]; 
$scope.activeState = 0; 

Demo here

+0

はい、本当です、ありがとうございます! –

1

あなたが持っているHTMLコードは、文字列を探していることを示しています。応答内容を見ることなく、整数を戻していることは良い推測です。

http.get(yourUrl,{}).then(function(response){ 
     $scope.activestate=response.data.toString();//this converts the responseData to a string and assigns it to the model object, replacing the original assignment in your controller 
    }, function(error){ 
     console.log(error); 
    }); 
関連する問題