2016-06-25 14 views
1

PHPの男に基づいて、第2のSELECT BOXのためのアイテムを取得し、AngularJSにAngularJSフォーム:ここでは、前の入力

私のフォームを使用して自動更新フォームを構築しようとすると、次のようになります。

<div ng-app="myapp"> 
<div ng-controller="ctrl"> 
    Select Road Name: <select ng-model="roadname" ng-options="x for x in roadNames" name="forms_roadName"></select> 
    Select Bus Stop Name: <select ng-model="busstopname" ng-options="x for x in busStopNames" name="forms_BusStopName"></select> 
</div> 

との関連セクション私のjavascriptは:

var app = angular.module('myapp', []); 
app.controller('ctrl', function($scope) { 
    $scope.roadNames = function_getRoadNames(); 
    if ($scope.roadname !== null) { 
    $scope.busstopname = function_getBusStopNames($scope.roadname); 
    } else { $scope.busstopname = ["Select Roadname first"]; } 
}); 

私は、選択されたロード名に基づいて自動的に更新するように、バスストップ名を期待しています。それは起こっていない。 Chromeコンソールはエラーをスローしません。「if」条件が満たされず、「else」ブロックが常に実行されます。私は間違って何をしていますか?

お使いのコントローラで

答えて

2

使用NG-変更

<select ng-change="updateRoad()" ng-model="roadname" ng-options="x for x in roadNames" name="forms_roadName"></select> 

方法updateRoadを(追加)

app.controller('ctrl', function($scope) { 
    $scope.roadNames = function_getRoadNames(); 
    if ($scope.roadname !== null) { 
    $scope.busstopname = function_getBusStopNames($scope.roadname); 
    } else { $scope.busstopname = ["Select Roadname first"]; } 

    $scope.updateRoad = function() { 
     $scope.busstopname = function_getBusStopNames($scope.roadname); 
    } 
}); 
関連する問題