У меня есть HTML-таблица, в которой есть столбец с параметрами выбора, который отправляется с использованием события onchange с использованием ajax.
код отлично работает для первой строки каждой страницы (так как для таблицы применяется разбиение на страницы), но любая другая строка бесполезна.
Я задал вопрос, связанный с этим вопросом ранее, и случайно наткнулся на этот вопрос, который, к счастью, мне очень помог, но не для всей таблицы.
это оригинальная ссылка на вопросы и ответы:
Отправить форму на выбор изменения через AJAX
мой индивидуальный код HTML
<td>
<form action="" method="POST">
<select class="changeStatus" name="changeStatus" style="margin-bottom:10px;">
<option value="<?php echo $row["STATUS"]; ?>" > <?php echo $row["STATUS"]; ?></option>
<option value="new">new</option>
<option value="checking">checking</option>
<option value="processing">processing</option>
<option value="done">done</option>
</select>
<input class="order_Id" type="hidden" name="order_Id" value="<?php echo $row["ORDER_ID"];?>"/>
</form>
</td>
Аякс код
<script>
$(document).ready(function() {
$('select.changeStatus').change(function(){
$.ajax({
type: 'post',
url: 'test2.php',
data: {selectFieldValue: $('select.changeStatus').val(), order_Id: $('input[name$="order_Id"]').val()},
success: function(html){alert('Select field value has changed to' + $('select.changeStatus').val()); },
dataType: 'html'
});
});
});
</script>
примечание: предупреждение повторяет только первый ряд vlue.
php код
<?php
$connection = mysqli_connect('localhost' , 'root' ,'' ,'project_name');
$changeStatus=$_POST['selectFieldValue'];
$id=$_POST['order_Id'];
$sql='UPDATE new_order SET STATUS="'.$changeStatus.'" WHERE ORDER_ID ="'.$id.'"';
$result = mysqli_query($connection, $sql);
?>
Я искал несколько дней, и пока это был мой единственный и удачный код.
заранее спасибо