Как получить данные из radio buttons в AngularJs?

Привет. Пытаюсь получить данные из радио кнопок. В данном случае radio buttons сгенерированны из массива с помощью ng-repeat. Подскажите как получить name и price выбранного элемента.

Help!

jsfiddle.net/hanze/j9x23apu

**html**

<h1>Select </h1>

    <div ng-app="" ng-controller="OrderCtrl">
          <div ng-repeat="item in items">
    <div class="radio">
    <label>
         <input type="radio" name="item" ng-model="item" ng-checked="{{item.checked}}"> 
         {{item.name}} +{{item.price}} $.</label>
    </div>
    </div>

    Your choice: {{}} **what i must write here?**
    <br>
    Price: {{}} **and here?**
    </div>


**js**

OrderCtrl = function ($scope) {
    $scope.items = [{
    name: 'None',
    value: "no",
    price: 0,
    checked: true
    }, {
    name: 'Black',
    value: "black",
    price: 99,
    checked: false
    }, {
    name: 'White',
    value: "white",
    price: 99,
    checked: false
    }, {
    name: 'Barhat',
    value: "barhat",
    price: 49,
    checked: false
    }, {
    name: 'Barhat',
    value: "cream",
    price: 49,
    checked: false
    }]
  • Вопрос задан
  • 3524 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Krio
Еще пару вариантов:
jsfiddle.net/j9x23apu/20
1. Т.к. ng-repeat создает новый scope, то для ng-model используем $parent, что бы "попасть" в нужный scope
ng-value="item" ng-model="$parent.selected"
+ если надо отследить изменение, то можем добавить ng-change="changed()"

2. Основан на ng-click, указываем действие при клике и передаем сразу item
ng-click="selectItem(item)"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы