Как по ссылке в jqGrid отправить ajax запрос?

Рейтинг: 0Ответов: 1Опубликовано: 27.04.2015

Доброго времени суток. Вопрос заключается в следующем. Я использую jqGrid для отображения таблицы. В таблице есть ссылки

<a href="#" class="table-link" data-toggle="modal" data-target="#modal_invoice_info" id="206">1</a>

У каждой ссылки свой ID. Как можно сделать чтобы через ajax отправлялся GET запрос с ID по ссылке, на которую нажали.

$(".table-link").click(function() {
    var id = this.attr('id');
    $.ajax({
        url: "/Invoices/GetInvoiceInfo",
        type: "GET",
        data: "id=" + id,
        success: function(response) {
            $("#modal_form").html(response);
        },
    });
});

Такой вариант не работает. Как лучше реализовать это?

Ответы

▲ 1Принят

В зависимости от того, что именно не работает:

Если обработчик вызывается, но не работает, пишет в консоль

this.attr is not a function

то стоит исправить извлечение id на:

var id = $(this).attr('id');

this - это просто элемент, а attr - это метод у jq-обертки.

Если обработчик вообще не вызывается, то скорее всего ваш код отрабатывает до того, как загружается грид, и элемент появляется на странице. Используйте live-события:

// заменить body на что-то более специфическое - селектор для грида, например
$("body").on("click", ".table-link", function() {
    var id = $(this).attr('id');
    $.ajax({
        url: "/Invoices/GetInvoiceInfo",
        type: "GET",
        data: "id=" + id,
        success: function(response) {
            $("#modal_form").html(response);
        },
    });
});