Только заменить фрагмент в вызове jquery ajax - PullRequest
0 голосов
/ 06 мая 2011

Я пытаюсь имитировать функциональность загрузки с помощью запроса ajax.Причина этого в том, что мне нужен доступ к функции beforeSend.

Для меня будет работать нагрузка

$('tableCell').load('this/is/a/url #table');

Это, очевидно, приведет к загрузке таблицы элементов в tableCell.

Аякс, который у меня сейчас есть,

$.ajax({
    url: 'this/is/a/url',
    beforeSend: function() {
        //STUFF
    },
    success: function(html) {
        //Not sure what to put here?
    }
});

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

Я уже пробовалкак

$('#tableCell').html(html.getElementById('table'));

но, похоже, это не сработало, я также пробовал некоторые другие комбинации js и jquery ... но не повезло.

Надеюсь, кто-нибудь может мне помочь!

Спасибо.

Ответы [ 3 ]

2 голосов
/ 06 мая 2011

Это должно работать: $('#tableCell').html($(html).find('#table'));

1 голос
/ 06 мая 2011

У вас в значительной степени есть это.Дважды проверьте ваши селекторы, чтобы убедиться, что они совпадают с чем-то;непонятно, читая ваши примеры, каков на самом деле идентификатор таблицы.

// append to the table (i think this is how load() works)
$(html).find('#table').appendTo('#tableCell');

или

// replace the data
$('#tableCell').html( $(html).find('#table') );

.. при условии, что #tableCell находится в DOM, а #dt_report находится в ответе AJAX.

Кроме того, если #table является корневым узлом в переменной "html", вам придется использовать filter () вместо find (), но я не думаю, что это так.

0 голосов
/ 06 мая 2011

Один из вариантов - поместить html-контент, полученный вами от вызова AJAX, где-то на вашей странице и скрыть его, а затем использовать обычные селекторы jQUery, чтобы выбрать то, что вам нужно, из скрытой таблицы.

Честно говоря, лучше всего получить только то, что вам нужно, в вызове AJAX, но я знаю, что это не всегда возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...