У меня есть таблица html со строками.
Каждая строка имеет столбец действий с кнопкой, и при нажатии этой кнопки я хочу показать поле ввода во втором td, которое пользователь должен заполнить и отправить, сначала после этого событие/клик будет завершен, иначе вход должен исчезнуть снова.
<table>
<thead>
<tr>
<th>ID</th>
<th>user-Input</th>
<th>data3</th>
<th>data4</th>
<th>data5</th>
<th>Action</th>
</tr>
</thead>
<tbody id="customers">
<tr>
<td>1</td><td></td><td>data</td><td>data</td><td>data</td><td><button type='button' class='acceptCustomerBut'>GO</button></td>
</tr>
</tbody>
</table>
JavaScript/JQuery
$(document).on("click", ".acceptCustomerBut", function(e) {
e.preventDefault();
$(this).parent().parent().find("td:nth-child(2)").html("<input type='number' name='customer_id'>");
// DO SOMETHING
});
DO SOMETHING - im думает, можно ли определить функцию, если вход получил значения с jquery.on("change"), если нет, скрыть поле ввода?
Попробуй это,
$(document).on("click", ".acceptCustomerBut", function(e) {
e.preventDefault();
var $td=$(this).closest('tr').find("td:eq(1)");
if($td.find('input').length){ // check input length, if exists then hide it
$td.find('input').hide();
} else { // else add it
$td.html("<input type='number' name='customer_id'>");
}
});