я создал таблицу встреч и добавил две ссылки, чтобы принимать и отклонять встречи. ссылки отображаются в каждой строке таблицы, но когда я нажимаю на нее, текст accept & reject отображается только в первой строке, и мне также нужно знать, как вставлять текст, который появляется после нажатия кнопки на db, который я запросил бы кто-то к pls обеспечит мне некоторую помощь спасибо!
<form method="post" action="delete.php" >
<table cellpadding="0" cellspacing="0" border="0" class="table table-condensed" id="example">
<thead>
<tr>
<th>appoinment ID</th>
<th>Date</th>
<th>time</th>
<th>teacher</th>
<th>parent</th>
<th> accept/reject </th>
<th>label</th>
</tr>
</thead>
<tbody>
<?php
$query=mysqli_query($conn, "select * from 'app' left join 'par' on par.par_id=app.par_id
left join 'tea' on tea.tea_id=app.tea_id
ORDER BY app_id DESC");
if($query === false)
{
throw new Exception(mysql_error($conn));
}
while($row=mysqli_fetch_array($query))
{
$ann_id=$row['app_id'];
$date=$row['date'];
$msg=$row['time'];
$username = $row['username'];
$username = $row['p_username'];
?>
<tr>
<td><?php echo $row['app_id'] ?></td>
<td> <?php echo date('j/m/y',strtotime($row['date'])); ?></td>
<td><?php echo $row['time'] ?></td>
<td><?php echo $row['p_username'] ?></td>
<td><?php echo $row['username'] ?></td>
<td> <a href="#" onclick="document.getElementById('chgtext').innerHTML='reject';">reject</a>
<a href="#" onclick="document.getElementById('chgtext').innerHTML='accept';">accept</a>
</td>
<td>
<div id="chgtext">PENDING</div>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</form>
В jQuery это будет выглядеть так:
<td>
<a href="#" class="reject">reject</a>
<a href="#" class="accept">accept</a>
</td>
<td>
<div class="chgtext">PENDING</div>
</td>
Затем перед закрытием тега body:
<script>
$(document).ready(function(){
$('.reject').on('click', function(){
var row = $(this).closest('tr'); //find the row the link is in
var thediv = row.find('.chgtext') //find the correct div within that tr
$(thediv).text('reject');
});
$('.accept').on('click', function(){
var row = $(this).closest('tr'); //find the row the link is in
var thediv = row.find('.chgtext') //find the correct div within that tr
$(thediv).text('accept');
});
});
</script>
Вы можете сделать код короче, но я хотел показать вам, как он работает шаг за шагом.
this
ключевое слово - почитайте об этом. В jQuery это будет$(this).closest('tr').find('#chgtext').innerHTML='accept';
Он находит tr, в котором нажата кнопка, затем находит chgtext внутри этой строки