Вызов функции из подгружаемого HTML

307
19 октября 2017, 10:39

Доброго времени суток. Собственно возникла одна проблема.

Через AJAX с интервалом в 5 секунд подгружаю результат выполнения PHP скрипта, который выводит информацию в виде таблицы, в последнем столбце таблицы имеется button, которым собственно и хочу вывести функцию, которая содержится в подгружаемом на странице JS файле. Пробовал вызвать через class, реакции никакой не происходило, а через непосредственный вызов функции в консоль писало что функция не существует.

$.ajax({
    url: ajaxDir + "Dispatcher",
    type: "POST",
    method: "post",
    data: {
        "query": "ReturnTransactionConfirmation"
    },
    success: function (request) {
        $("#table-content").html(request);
    }
});

Ответ PHP

$TableContent .= '<tr style="background: brown; color: white;">';
$TableContent .= '<td style="text-transform: uppercase;border:1px solid black">'.$transaction_date_add.'</td>';
$TableContent .= '<td style="text-transform: uppercase;border:1px solid black"><a href="/dashboard/orders/edit/'.$item['order_id'].'">#'.$item['order_id'].'</a></td>';
$TableContent .= '<td style="text-transform: uppercase;border:1px solid black">Наличный</td>';
$TableContent .= '<td style="text-transform: uppercase;border:1px solid black">Расход</td>';
$TableContent .= '<td style="text-transform: uppercase;border:1px solid black">---------</td>';
$TableContent .= '<td style="text-transform: uppercase;border:1px solid black">'.$item['transaction_amount'].' UAH</td>';
$TableContent .= '<td style="text-transform: uppercase;border:1px solid black">'.$UserNameFrom.'</td>';
$TableContent .= '<td style="text-transform: uppercase;border:1px solid black">---------</td>';
$TableContent .= '<td style="text-transform: uppercase;border:1px solid black;background: white;color:black;"> <button onclick="newButtonNew();" class="success-transaction" data-transaction-id="'.$item['transaction_id'].'" style="margin:10px;">ПОДТВЕРДИТЬ</button> </td>';
$TableContent .= '</tr> ';

Функция

function newButtonNew() {
    bootbox.confirm({
        message: "Костя, это точно?",
        buttons: {
            confirm: {
                label: 'Да',
                className: 'btn-success'
            },
            cancel: {
                label: 'Нет',
                className: 'btn-danger'
            }
        },
        callback: function (result) {
        }
    });
};

Всем спасибо за помощь и внимание )

Answer 1

Собственно спасибо teran за помощь в решение данного вопроса )

 $('body').on('click', '.success-transaction', function () {
         //Что-то делаем
    });
READ ALSO
jQuery - Функция throttle на поле поиска

jQuery - Функция throttle на поле поиска

Никак не могу разобраться с функцией throttleПодскажите, кто разбирается

321
Валидация input на лету

Валидация input на лету

Нужно валидировать input на лету, чтобы не давало вводить символ, если строка перестает соответствовать регулярному выражению

305