onclick () не работает в таблице

0

я создал таблицу встреч и добавил две ссылки, чтобы принимать и отклонять встречи. ссылки отображаются в каждой строке таблицы, но когда я нажимаю на нее, текст 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> &nbsp; &nbsp;
               <a href="#" onclick="document.getElementById('chgtext').innerHTML='accept';">accept</a>&nbsp;  &nbsp;
            </td>
            <td>
               <div id="chgtext">PENDING</div>
            </td>
         </tr>
         <?php 
            }

            ?>
      </tbody>
   </table>
   </div>
</form>
  • 0
    Вам нужно использовать this ключевое слово - почитайте об этом. В jQuery это будет $(this).closest('tr').find('#chgtext').innerHTML='accept'; Он находит tr, в котором нажата кнопка, затем находит chgtext внутри этой строки
  • 0
    @ MichałSkrzypek я не понял
Показать ещё 6 комментариев
Теги:
onclick

1 ответ

1
Лучший ответ

В 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>

Вы можете сделать код короче, но я хотел показать вам, как он работает шаг за шагом.

  • 0
    я должен добавить что-нибудь дополнительно к этому коду ... в настоящее время не работает
  • 0
    Вы включили JQuery?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню