ng-change 未在 Foundation for Apps 的 select 上触发
ng-change isn't firing on select in Foundation for Apps
在 Foundation-for-Apps 网络应用程序中,我想在 select 值更改时触发我的控制器中的一个函数。
我在模板中执行了以下操作:
---
name: meeting-rooms
url: /meeting-rooms
controller: MeetingRoomsCtrl
animationIn: slideInRight
animationOut: slideOutLeft
---
<div class="custom-tabs" zf-tabs="">
<div class="custom-tabs-item" zf-tab="" title="Location" data-options="one_up: false">
<form class="form">
<select id="selectLocation" class="select form-place-select" ng-model="selectLocation" ng-change="selectLocationChanged()">
<option value="">Select a place</option>
<option value="New York">New York</option>
</select>
</form>
</div>
</div>
还有我的控制器:
(function() {
'use strict';
angular.module('application').controller('MeetingRoomsCtrl', ['$scope',
function($scope, $state, $window, foundation, ModalFactory, NotificationFactory) {
$scope.selectLocationChanged = function() {
console.log($scope.selectLocation.name);
};
}
]);
})();
应该有效:提供了 ng-model
,作用域中存在函数 selectLocationChanged
(我可以在同一模板中使用控制器中设置的其他变量)和语法ng-model="selectLocation" ng-change="selectLocationChanged()"
是正确的。我在控制台中没有任何错误消息,只是没有触发更改事件。
为什么这不起作用?也许 Foundation For Apps 有一些特定的东西?
将您的代码更改为此,忘记在 HTML 页面
中包含控制器
<form class="form" ng-controller="MeetingRoomsCtrl">
<div >
<select id="selectLocation" class="select form-place-select" ng-model="selectLocation" ng-change="selectLocationChanged(selectLocation)">
<option value="" disabled="disabled">Select a place</option>
<option value="New York">New York</option>
</select>
</div>
</form>
在 Foundation-for-Apps 网络应用程序中,我想在 select 值更改时触发我的控制器中的一个函数。
我在模板中执行了以下操作:
---
name: meeting-rooms
url: /meeting-rooms
controller: MeetingRoomsCtrl
animationIn: slideInRight
animationOut: slideOutLeft
---
<div class="custom-tabs" zf-tabs="">
<div class="custom-tabs-item" zf-tab="" title="Location" data-options="one_up: false">
<form class="form">
<select id="selectLocation" class="select form-place-select" ng-model="selectLocation" ng-change="selectLocationChanged()">
<option value="">Select a place</option>
<option value="New York">New York</option>
</select>
</form>
</div>
</div>
还有我的控制器:
(function() {
'use strict';
angular.module('application').controller('MeetingRoomsCtrl', ['$scope',
function($scope, $state, $window, foundation, ModalFactory, NotificationFactory) {
$scope.selectLocationChanged = function() {
console.log($scope.selectLocation.name);
};
}
]);
})();
应该有效:提供了 ng-model
,作用域中存在函数 selectLocationChanged
(我可以在同一模板中使用控制器中设置的其他变量)和语法ng-model="selectLocation" ng-change="selectLocationChanged()"
是正确的。我在控制台中没有任何错误消息,只是没有触发更改事件。
为什么这不起作用?也许 Foundation For Apps 有一些特定的东西?
将您的代码更改为此,忘记在 HTML 页面
中包含控制器<form class="form" ng-controller="MeetingRoomsCtrl">
<div >
<select id="selectLocation" class="select form-place-select" ng-model="selectLocation" ng-change="selectLocationChanged(selectLocation)">
<option value="" disabled="disabled">Select a place</option>
<option value="New York">New York</option>
</select>
</div>
</form>