Как получить значение и выделить текст с помощью Angular

0

У меня есть следующий select (in jade):

select(ng-model="note.shop1", ng-change="selectShop()", ng-disabled="allShops" ng-show="positionAvailable")
   option(ng-repeat="shop in nearbyShops" value="{{shop._id}}")
     {{shop.name}} ({{shop.contact_address}} {{shop.contact_housenr}}, {{shop.contact_city}})
   option(value="otherShop") My store isn't listed.

Selectshop() в моем контроллере:

$scope.selectShop = function(){

        if($scope.note.shop1 == "otherShop"){
            $scope.allShops = true;
        }
}

Я хочу сохранить выбранный идентификатор, поэтому я могу его сохранить, но я хочу показать {{shop.name}} пользователю, когда он выбрал магазин. Как я могу это сделать?

Итак, я хочу выбрать {{shop._id}} и выбрать {{shop.name}}.

  • 0
    Можете ли вы показать мне свой selectShop() ? и вы хотите хранить идентификатор магазина и название магазина, верно?
  • 0
    Добавил немного кода в мой пост. Я забыл кое-что и да, я хочу хранить оба.
Теги:

2 ответа

0

Вам просто нужно удалить ._id из значения, чтобы передать объект в свой метод ng-change. Попробуй это.

select(ng-model="note.shop1", ng-change="selectShop(note.shop1)", ng-disabled="allShops" ng-show="positionAvailable")
   option(ng-repeat="shop in nearbyShops" value="{{shop}}")
     {{shop.name}} ({{shop.contact_address}} {{shop.contact_housenr}}, {{shop.contact_city}})

и в вашем методе selectShop. получить их

$scope.selectShop = function(selectedShop){
    console.log(selectedShop._id, selectedShop.name);
        if($scope.note.shop1 == "otherShop"){
            $scope.allShops = true;
        }
}

Я продемонстрировал демонстрационную скрипту.

Надеюсь, поможет.

  • 0
    Когда я делаю console.log (shop) в selectShop, я получаю весь магазин, но когда я делаю console.log (shop.name), я получаю 'undefined'. Что не так? :)
  • 0
    Попробуйте console.log(selectedShop._id, selectedShop.name); в selectShop()
Показать ещё 2 комментария
0

Я могу предложить и версию HTML для вашей проблемы.

 <select ng-model="selectedShop._id" ng-options="selectedShop._ID as selectedShop.name for selectedShop in nearbyShops" 
   ng-change=selectShop(selectedShop,{{selectedShop._id}})></select>

и ваша функция будет

$scope.selectShop = function(shop){
// your selected shop id will be $scope.shop._id

}

Ещё вопросы

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