简体   繁体   English

如果单击相同类的按钮单击,则在for循环中获取最接近的输入(JQuery)

[英]Get closest input in a for loop if button click with same classes(JQuery)

I try to get the value of the closest input field (subjectId), which contanis the id, in other input. 我尝试在其他输入中获取最接近的输入字段(subjectId)的值,该值与id相同。 But it always takes the last subjectId. 但是它总是采用最后的subjectId。

The HTML-Code: HTML代码:

@foreach($grades As $grade)
<tr class="subjectGrades">
    <td class="min-td-size">
    <button class="btn btn-default btn-sm pull-left min-margin-right" class="overviewShowSubjectGrades" data-toggle="modal" data-target="#modalShowGrades">Show Grades</button>                              
    <button class="btn btn-default btn-sm pull-left" class="overviewAddGrade" data-toggle="modal" data-target="#modalAddGrade">+</button>
    <input type="hidden" class="subjectId" value="{!! $grade->subjectId !!}">
    </td>                        
</tr>
@endforeach

The JQuery-Code: jQuery代码:

$('.overviewAddGrade').click(function () {
        var subjectId = $(this).closest('.subjectId').val();    
        $('#modalSubjectId').val() = subjectId;    
   });

Missing a . 缺少一个. in your class selector for subjectId , but the problem is closest searches up the DOM tree - while your element is a sibling. 在你的类选择为subjectId ,但问题是closest搜索了DOM树-而你的元素是兄弟。 You can use closest to get the parent, then find to get the target elem: 您可以使用closest来获取父元素,然后find以获取目标元素:

var subjectId = $(this).closest("td").find('.subjectId').val();                  

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM