ng-change не срабатывает при выборе в Foundation for Apps

0

В веб-приложении Foundation-for-Apps я хочу вызвать функцию в моем контроллере при изменении значения выбора.

В моем шаблоне я сделал следующее:

---
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?

Теги:
zurb-foundation
zurb-foundation-apps

1 ответ

0
Лучший ответ

Измените свой код на это, забыли включить контроллер в 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>
  • 0
    Я пытался, но безуспешно. В любом случае selectLocation должен быть доступен через область видимости, и даже если я сделаю простой console.log('test') в функции, он просто не получит вызов.
  • 0
    @vard можете ли вы изменить значение на нг-значение
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню