javascript - 如何在单击按钮时获取同级选择器的值?

标签 javascript jquery angularjs siblings

我想在单击按钮时获取所选选项的值。 问题是我有几组按钮和选择。所以,我必须以某种方式使用 sibling ,但我不知道如何......

<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());  
};

但这不起作用。 谁知道如何让它工作?

提前谢谢您!

最佳答案

只需在选择时使用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

关于javascript - 如何在单击按钮时获取同级选择器的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190522/

相关文章:

javascript - Angularjs -> 如何以 Angular 风格初始化变量

javascript - 仅当选择下拉列表中的特定选项时才激活复选框

angularjs - ngModel 更新后 ngRepeat orderBy update

javascript - jointjs元素鼠标点击事件

javascript - 延迟加载不会在 Angular 中创建 chunk.js

javascript - 基于内容高度的 iFrame PDF 滚动

javascript - 如何设置链接以检查带有变量名称、id、值的复选框

jquery - 使用 jQuery 读取 RSS 提要?

angularjs - 如何将 Escape 上的输入字段重置为以前的值

javascript - AngularJs - 调用 Bootstrap 模式时如何不使用 jquery