У меня есть таблица, динамически созданная из базы данных Mysql. Я пытаюсь создать модальное диалоговое окно, в котором, если пользователь нажимает на кнопку просмотра, отображается всплывающее окно с указанием значений этой конкретной строки. Как выполнить цикл в таблице и выбрать определенную строку с помощью jquery? Я использую Javascript-библиотеку, называемую bootbox.js. Я могу отображать всплывающее окно, но я не могу его отобразить в соответствующей строке, вместо этого отображает только первую строку. Соответствующий PHP и код Javascript Я попытался показано нижеКак использовать jquery для цикла в строках таблицы, эхом отданных php, и выбрать определенную строку, где встречается свойство
echo "<table class='table table-hover table-responsive table-bordered'>";
echo "<tr>";
echo "<th>Payment Supplier</th>";
echo "<th>Payment Reference</th>";
echo "<th>Payment Cost rating</th>";
echo "<th>Payment Amount</th>";
echo "<th>Actions</th>";
echo "</tr>";
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
echo "<tr>";
echo "<td>{$payment_supplier}</td>";
echo "<td>{$payment_ref}</td>";
echo "<td>{$payment_cost_rating}</td>";
echo "<td>{$payment_amount}</td>";
?>
<div id="dom-target" style="display: none;">
<?php
$output = $payment_supplier; //Again, do some operation, get the output.
echo htmlspecialchars($output); /* You have to escape because the result
will not be valid HTML otherwise. */
?>
</div>
<?php
echo "<td>";
echo "<a view-id='{$payment_id}' class='btn btn-default view-object'>View</a>";
echo "<a href='lib/Local/update_payment.php?id={$payment_id}' class='btn btn-default left-margin'>Edit</a>";
echo "<a delete-id='{$payment_id}' class='btn btn-default delete-object'>Delete</a></div>";
echo "</td>";
echo "</tr>";
$x++;
}
echo "</table>";
код Javascript является
<script>
$(document).on('click', '.view-object', function(e) {
var div = document.getElementById("dom-target");
var myData = div.textContent;
bootbox.alert(myData, function() {
console.log("Alert Callback");
});
});
</script>
Что я здесь отсутствует или есть лучший способ для достижения этой цели?
Попробуйте использовать '$ ('body'). On ('click', '.view-object', function() {alert (" пришел ")' и прокомментировать весь другой контент для первой проверки выполнения функции – Ronser
исходный код Javascript работает, но не выводит результат, который я хочу. Код, который вы предложили, не работает –
Вы перерабатываете свой ID 'dom-target'.ID ** должен быть уникальным **. – Terry