Показать сообщение отдельно
  #7 (permalink)  
Старый 04.12.2019, 18:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

На сервере:

<?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');

});
Ответить с цитированием