我想在按钮点击时获取所选选项的值。 问题是我有几组按钮并选择。所以,我不得不以某种方式使用兄弟姐妹,但我无法弄清楚如何.....
<div class="form-group" ng-repeat="category in categories">
<div id="kkal-type" class="form-options">
<select name="{{cats[$index]}}" id="{{cats[$index]}}">
<option value="0" >--Не выбрано--</option>
<option ng-repeat="food in category.foods" ng-show="food.available" value="{{food.cost}}">{{food.name+" - "+food.cost+"тг"}}</option>
</select>
<input type="button" value="ВЫБРАТЬ" class="choose-btn orange filled" ng-click="update(this)"/ >
</div>
$scope.update = function(btn) {
console.log( $(btn).siblings('select').val());
};
但这不起作用。 谁知道如何使这个工作?
提前谢谢!
答案 0 :(得分:1)
只需在select上使用ng-model
并将该值传递给ng-click
函数
<select name="{{cats[$index]}}" id="{{cats[$index]}}" ng-model="selectedItem">
<input type="button" value="ВЫБРАТЬ" class="choose-btn orange filled" ng-click="update(selectedItem)"/ >
$scope.update = function(selectedItem) {
console.log( selectedItem);
};
在旁注上,请使用ng-options
代替ng-repeat
<select name="{{cats[$index]}}" id="{{cats[$index]}}" ng-options="food.cost as food.name for food in category.foods" ng-model="selectedItem">
<option value="0" >--Не выбрано--</option>
</select
答案 1 :(得分:1)
只需导航到父级$.parent()
,然后向下搜索:$.find("select")
。
您还可以使用$.closest()
方法,这将在树中查找并找到最适合您的选择器的元素,这就是您所需要的:
$scope.update = function(btn) {
console.log( $(btn).closest('select').val());
};