AJAX - как запросить указанную c строку таблицы - PullRequest
1 голос
/ 27 апреля 2020

Я довольно новичок в ajax, в настоящее время я делаю таблицу диспетчера задач, которая добавляет новые строки в таблицу с помощью sql запросов. Однако я хочу использовать ajax, чтобы изменить состояние с «не выполнено» на «выполнено» для любых задач, которые пользователи хотят завершить sh. Проблема в том, что я не совсем уверен, как бы я go обратился к ссылкам на новые строки таблицы, так как сейчас это единственная ссылка на первый экземпляр строки rable.

Ниже моя таблица и ajax .

 <?php while ($row = mysqli_fetch_assoc($tasks)) : ?>

                <tr class="task-table-row" style="background-color:<?php echo $table ?>">
                    <td class="rounded" style="height:40px; overflow:hidden">
                        <?php echo $row["taskTitle"] ?>
                    </td>
                    <td class="rounded" id="taskBodyS">
                        <?php echo $row["taskBody"]; ?></td>
                    <td class="rounded"><?php echo $row['taskDate']; ?></td>
                    <td class="state">
                        <a id="stateTick" onclick="completeTask()" method="GET"
                            action="index.php?complete_task=<?php echo $row['taskID']; ?>">Test</a>
                    </td>
                    <td>
                        <div id="del"><a style="color:red"
                                href="index.php?del_task=<?php echo $row['taskID']; ?>">Delete
                            </a>
                            <button style="color:red; background:none; border:none; cursor:pointer">Edit
                            </button>
                    </td>
                    <td style="display:none;"><?php echo $row['taskID']; ?></td>
                </tr>
                <?php endwhile; ?>
            </table>
function completeTask() {
  var xmlHttp = new XMLHttpRequest(); //instance of HTTP request
  xmlHttp.open("GET", "includes/query.php", false);
  xmlHttp.send(null);
  var elmt = document.getElementById("stateTick");
  elmt.innerHTML = xmlHttp.responseText;
}

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете передать значение id в функцию, а затем отправить его на ajax. то есть: тег <a> будет выглядеть следующим образом:

<a id="stateTick" onclick="completeTask(<?php echo $row['taskID'];?>)">Test</a>

Ваш код ajax будет выглядеть следующим образом:

function completeTask(id) {
  var xmlHttp = new XMLHttpRequest(); //instance of HTTP request
  xmlHttp.open("GET", "includes/query.php?id="+id, false);//passing id
  xmlHttp.send(null);
  var elmt = document.getElementById("stateTick");
  elmt.innerHTML = xmlHttp.responseText;
}

Затем получите id, используя $_GET['id'] в ваша php сторона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...