0
我有一個應用程序有兩個單獨的選擇與綁定屬性。我希望用戶能夠更改所選選項中的選定選項,這將觸發一個功能。但函數將使用選擇的BOTH中選定選項的值發送到$ http調用以進行數據庫查詢。以下是代碼片段:ng-change不會觸發函數
HTML:
<div class="yearFilter">
<label>Working Year : </label>
<select ng-model="filterYear" ng-options="year.code as year.code for year in filterYears | unique:'code'" ngclick="setWorkingData({{filterSport}},{{filterYear}})">
</select>
</div>
<div class="sportFilter">
<label>Working Sport : </label>
<select ng-model="filterSport" ng-options="sport.code as sport.desc for sport in filterSports | unique:'code'" ngclick="setWorkingData({{filterSport}},{{filterYear}})"></select>
</div>
JS:
var PermitsCtrl = function ($scope, $http) {
var init = function() {
$http({
...
}).success(function(data) {
...
setWorkingData($scope.filterYear,$scope.filterSport);
}).error(function(error){
...
});
}
var setWorkingData = function (year, sport) {
$http({
url ....
...
data : "action=2&year_code="+year+"&sport_code="+sport,
...
}).success(function(data) {
$scope.workingData = data.workingData;
}).error(function(error) {
...
});
}
init();
}
在加載頁面時,init()被成功觸發,它建立了選擇選項,進而觸發setWorkingData()函數,它根據調用init()函數發送的兩個選擇(filterYear和filterSport)中的值,相應地更改DOM中的其他值。到目前爲止,一切都很好。但更改select中的值不會觸發setWorkingData函數。被呈現的HTML看起來是正確的:
<select ng-model="filterYear" ng-options="year.code as year.code for year in filterYears | unique:'code'" ng-change="setWorkingData(15,FB)" class="ng-valid ng-dirty"><option value="0" selected="selected">14</option><option value="1" selected="selected">15</option></select>
當我改變無論是在瀏覽器中選擇,對於setWorkingData()函數的參數值是正確的DOM兩種選擇呈現所選擇的選項,但功能從未被觸發。
這完善。謝謝@ExpertSystem! – mike