Я пытаюсь получить выбранное значение при нажатии кнопки отправки формы, которая содержит ng-repeat и выбор, сгенерированный ng-options. Но я не могу достичь выбранного значения, не могли бы вы взглянуть на мой код и сказать мне, что мне не хватает?
<form class="form-horizontal">
<!-- Options -->
<div class="product-page-options">
<div class="form-group clearfix" ng-repeat="option in product.options.data">
<label class="col-md-4 control-label pull-left">{{ option.name }}</label>
<div class="col-md-8">
<select class="form-control" ng-options="value.name for value in option.values.data" ng-model="selectedValue">
<option value="">Select {{ option.name }}</option>
</select>
</div>
</div>
</div>
<!-- Add to cart -->
<div class="product-page-cart">
<div class="product-quantity">
<input type="number" value="1" class="form-control input-sm">
</div>
<button class="btn btn-primary" type="submit" ng-click="add(selectedValue)">Add to cart</button>
I have tried to print the selected value by putting
{{ selectedValue }}inside the ng-repeat div and it display perfectly as expected, however if I try to put it outside of the div then nothing print out.
Данные json, которые я использовал для создания формы здесь http://pastebin.com/nah3Pt5r
// Редактировать:
Я просто погуглил и нашел скрипку, делающую то же, что и я: http://jsfiddle.net/DrQ77/, поэтому я решил чтобы изменить ng-модель на selected[option.name], но $scope.selected по-прежнему показывает undefined.
// Edit 2: Okay, problem solved by adding the
$scope.selected = {};in the controller.
Спасибо за уделенное время!
selectedValue
и добавить () это уникальное выбранное значение. Выбранных значений столько, сколько полей выбора. Чего вы на самом деле хотите достичь? - person JB Nizet   schedule 21.08.2015