2017-09-18 16 views
0

私はng-changeで関数を呼び出したが、なぜページロード時に実行するのか分からないSelectボックスがある。私はその機能が負荷で呼び出されることを望んでいません。私は、それが基本的な変化の振る舞いではないと思う。ロード時に角張ったJs変更機能が実行される

<select class="form-control" name="state" id="state_id" ng-model="form.state" ng-change="getStateList(form.state)"> 
    <option value="">Select State</option>            
    <option ng-repeat="states in state" value="{{states.state_id}}" ng-selected="states.state_id == form.state_id"> {{states.name}} </option> 
</select> 

とコントローラのIは

$scope.getStateList = function(id) { 
    $http.post('/statelist',{id:id}).then(function success(response) { 
     $scope.state = response.data.state; 
    }); 
} 

としての機能を有しており、私は別のコールの負荷に$scope.cityを読み込みます。しかし、ページをロードすると、両方の関数が呼び出され、$scope.getStateListは選択ボックスでchnageを呼び出す必要があります。どうしましたか ?

もう1つの問題はng-selectも機能していないことです。

+0

にdecalreどこ明確にあなたが求めて何を理解していないですスコープを送ることを意味します。完全なコントローラとHTMLコードを提供できますか? –

+0

質問は単純です..選択ボックスで変更を行うと関数が呼び出されるはずですが、私の場合は最初にページが読み込まれたときに関数を呼び出します... – JohnB

+0

選択の変更はgetCityList()ですあなたの関数はgetStateList()としてリストされています - これを修正することを提案します。 – rrd

答えて

-1

変更ng-model="states.state_id" ng-change="getStateList(states.state_id)" uはNG-変更イベント状態IDを渡したくはuは全体のスコープ値を送るこれを使用して..other賢明しようとuはNGリピート

+0

でもgetStateList()関数を呼び出すことができます – JohnB

+0

あなたが直面するエラーは正しく@JohnBに伝えます – jose

関連する問題