Если я правильно понял ваш вопрос, думаю, это должно сработать.но если вы можете добавить какой-нибудь код или объяснить, что вы хотите делать с идентификаторами строк, я могу помочь подробнее
function submitTable(){
var rows_ids = [];
$('#content-table .new-value').each(function(){
var old_value = parseInt($(this).parent().find('.old-value').text());
var new_value = parseInt($(this).find('input.desired-input').val());
if(old_value !== new_value){
rows_ids.push($(this).parent().attr('id'));
// use this as you want, it containes the id for the changed rows.
// you have the changes value in new_value, so you also can use it.
}
});
console.log(rows_ids);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="content-table">
<tr id="1">
<td>STG</td>
<td class="old-value">4</td>
<td class="new-value"><input type="text" name="txt_1_2" value="4" class="desired-input"></td>
</tr>
<tr id="2">
<td>LDG</td>
<td class="old-value">3</td>
<td class="new-value"><input type="text" name="txt_2_5" value="3" class="desired-input"></td>
</tr>
<tr id="3">
<td>FLG</td>
<td class="old-value">6</td>
<td class="new-value"><input type="text" name="txt_3_6" value="6" class="desired-input"></td>
</tr>
<tr id="4">
<td>FLG</td>
<td class="old-value">7</td>
<td class="new-value"><input type="text" name="txt_4_3" value="7" class="desired-input"></td>
</tr>
</table>
<button type="button" name="button" onclick="submitTable()">Submit</button>
РЕДАКТИРОВАТЬ: если вы хотите сохранить старое значение в том же вводе, вы можете использовать атрибут data-
длясделайте так ... тогда код должен выглядеть следующим образом
function submitTable(){
var rows_ids = [];
$('#content-table .desired-input').each(function(){
var old_value = parseInt($(this).data('old-value'));
var new_value = parseInt($(this).val());
if(old_value !== new_value){
rows_ids.push($(this).closest('tr').attr('id'));
// use this as you want, it containes the id for the changed rows.
// you have the changes value in new_value, so you also can use it.
}
});
console.log(rows_ids);
}
и вам нужно добавить data-old-value="..."
к вашему входу
<input type="text" name="" value="7" class="desired-input" data-old-value="7">
EDIT2: на основе вашего комментария вы можете использовать .split
, чтобы разделить имя на _
, а затем получить желаемый идентификатор для формата имени, который вы упомянули, он должен быть с индексом 1, jsкод должен выглядеть как
function submitTable(){
var ids = [];
$('#content-table .desired-input').each(function(){
var old_value = parseInt($(this).data('old-value'));
var new_value = parseInt($(this).val());
if(old_value !== new_value){
ids.push($(this).attr('name').split('_')[1]);
}
});
console.log(ids);
}