На сервере:
<?php foreach ($stores as $store): ?>
<tr class="trColor">
<td><?= $store->getId() ?></td>
<td><?= $store->getTradeShop() ?></td>
<td><?= $store->getFactoryNumber() ?></td>
<td><?= $store->getDateOfd() ?></td>
<td><?= $store->getMonth() ?></td>
<td><select>
<option class="selectChange"><?= $store->getStatus() ?></option>
<?php if (($user->getRole()) === 'admin'): ?>
<option value="Выполнено"><h1>Выполнено</h1></option>
<option value="Зарегистрировать">Зарегистрировать</option>
<option value="Заменить">Заменить</option>
<?php endif; ?>
</select>
<?php if (($user->getRole()) === 'admin'): ?>
<button value="<?= $store->getId() ?>">Send</button>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
Таблице даем id (в примере это sender), тогда:
document.addEventListener("DOMContentLoaded", function () {
document.getElementById('sender').addEventListener('click', function(e) {
if(e.target.localName == 'button') {
const together = "status=" + e.target.parentNode.querySelector('select').value + "&id=" + e.target.value;
var request = new XMLHttpRequest();
request.open('POST', 'http://fiscaloop.ru/stores/kosarev/edit-store/', true);
request.addEventListener('readystatechange', function () {
if ((request.readyState == 4) && (request.status == 200)) {
var resultStatus = document.getElementById('resultStatus');
resultStatus.innerHTML = request.responseText;
//это какая-то билиберда
$('.selectChange:contains("Зарегистрировать")').parents(".trColor").css('background','#ffd700');
$('.selectChange:contains("Заменить")').parents(".trColor").css('background','#E9967A');
$('.selectChange:contains("Выполнено")').parents(".trColor").css('background', '#fff8dc');
}
});
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send(together);
}
})
//что к чему тут не понять
$('.selectChange:contains("Зарегистрировать")').parents(".trColor").css('background','#ffd700');
$('.selectChange:contains("Заменить")').parents(".trColor").css('background','#E9967A');
});