Кнопки в datatable cal та же функция ajax()

#php #html #ajax #datatable #codeigniter-2

#php #HTML #ajax #datatable #codeigniter-2

Вопрос:

У меня есть динамически заполняемая таблица с 2 кнопками, повторяющимися для всех строк, одно удаление и одно изменение. Я хочу, чтобы нажатие клавиши delete вызывало функцию ajax, которая позволяет мне печатать значение, связанное с этой кнопкой, которое всегда отличается.

Ajax

 $("#bt_elimina").on('click',function() {

                var adress = $(".bt_elimina").val();
                alert(adress);

            });
  

Html / php

 <!--stampo la tabella $query è il risultato della query passato dal controller movimentoDiMagazzino_controller.-->
        <table id="tabella" class="table table-striped table-bordered" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>Codice Farmaco</th>
                    <th>Nome Farmaco</th>
                    <th>Quantità</th>
                    <th>Quantità di alert</th>
                    <th></th>
                </tr>
            </thead>
            <?php foreach ($query as $row): ?>
                <tr> 

                    <td><?php echo $row->aic; ?></td>
                    <td><?php echo $row->denominazione; ?></td>
                    <td><?php echo $row->quantita; ?></td>
                    <td><?php echo $row->alert; ?></td>
                    <td>

                        <button id="bt_modifica"
                                class="btn btn-default btn-xs"
                                data-toggle="tooltip" 
                                data-placement="top" 
                                title="">
                            <img src="<?php echo base_url(); ?>template/images/Modifica.png">
                        </button> 
                        <button id="bt_elimina"
                                class="btn btn-default btn-xs"
                                data-toggle="tooltip" 
                                data-placement="top" 
                                title="" 
                                value="<?php echo $row->aic; ?>">
                            <img src="<?php echo base_url(); ?>template/images/Elimina.png">
                        </button> 
                    </td>

                </tr>
            <?php endforeach; ?>


            </tbody>
        </table>
  

Вызов ajax работает только для первой кнопки, затем он больше не работает, и в результате кнопки умирают.

Я считаю, что проблема связана с тем, что все кнопки имеют одинаковый идентификатор, но как я могу это исправить? Если я ставлю ajax на класс, а не на идентификатор кнопки, я могу выполнить вызов, но я не могу напечатать значение кнопки.

Заранее спасибо

Комментарии:

1. у вас есть id="bt_elimina" и у вас есть щелчок по классу $(".bt_elimina").on('click' ???

2. Моя ошибка при написании этого сообщения.

Ответ №1:

Сначала вы должны использовать идентификаторы только один раз. Вы используете один и тот же идентификатор для каждой строки таблицы. Если вы нажмете на любую из них, она всегда будет ссылаться на первую. Это потому, что должен быть только один идентификатор, и javasript не будет смотреть дальше, чем первый.

Измените идентификатор id="bt_elimina" на class="bt_elimina" .

После этого я бы изменил javascript на:

$("#tabella").on('click', '.bt_elimina', function( evt ) {
var adress = $(this).val();
alert(adress);
});

Это должно сделать свое дело