Поэтому у меня есть таблица вроде этого:JQuery - Как найти следующее вхождение элемента с определенным классом
<table id="TblProduits" class="TblProduitsLayout">
<thead>
<tbody>
<tr class="placeholderRow">
<td>
<input class="PrixUnitr" type="number" />
</td>
<tr class="placeholderRow">
<tr class="placeholderRow SousTotal">
<td>
<input class="MontnHT" type="text" disabled="disabled" min="0"/>
</td>
<tr class="placeholderRow">
<tr class="placeholderRow SousTotal">
<td>
<input class="MontnHT" type="text" disabled="disabled" min="0">
</td>
</tbody>
</table>
Я хочу, чтобы изменить значение Fisrt совпадение в input
с именем класса MontnHT
помещена внутрь tr
с именем класса SousTotal
, когда значение input
с именем класса PrixUnitr
изменяется, так что я создал событие так:
$('body').on('change', '.PrixUnitr', function() {
$(this).closest('tr').nextAll("tr.SousTotal").find("input.MontnHT").val("foo");
});
Моя проблема заключается в том, что также меняет другие входы, содержащиеся внутри TR
с тем же именем SousTotal
, поскольку я хочу изменить только первое вхождение, что я делаю неправильно? и как это можно исправить?
'.next ("tr.SousTotal")' или '.find (" input.MontnHT : first ")' –
Прочтите, что следующийВсе в документации https://api.jquery.com/nextAll/ – epascarello
Я уже пробовал .next(), он просто проверяет следующий элемент tr и не продолжает изучать остальные – samouray