2015-10-08 1 views
0

я использую нг-опции для итерации некоторых данных в angularjs и при выборе значения я хочу выбранный объект, который я создал директиву ..Trigger нг-изменение с помощью директивы в Angularjs

return { 
    require: 'ngModel', 
    restrict : 'A', 
    link: function(scope, element, attrs, ctrl) { 
     $(element).combobox({ 
      source: scope[attrs.reportitems], 
      select: function(event, ui) { 
       $timeout(function() { 
         if(attrs.reportitems=="zoneList"){ 
          if(ui.item.attributes.value.value != "0") { 
           scope["update"](ui.item.attributes.value.value); 
          } 
         } 
       }, 0); 
      } 
     }); 
    }, 
} 

Это будет вызовите метод обновления в контроллере, и он будет передавать индексную позицию массива данных, но я хочу сам объект вместо индекса. или каким-то образом инициировать метод ng-change в UI. Так что я могу иметь объект в методе обновления в контроллере. пожалуйста, проверьте этот Plunker на весь код. Link

Может ли кто-нибудь помочь?

ответ

1

Насколько я могу судить, весь объект проходит через массив, когда выбран элемент. Чтобы получить доступ к объекту, вам нужно только res[0]. Оттуда у вас есть свойства id, tableName и toolTip. Кроме того, вы можете просто назначить ng-change=update(selected[0]) для получения объекта.

Мне любопытно, почему вы определяете $scope.selected = [] затем назначить $scope.selected = res

Смежные вопросы