JQuery AJAX проблема - PullRequest
       1

JQuery AJAX проблема

0 голосов
/ 10 июня 2011

Если вы посмотрите на http://www.danfarrellwright.com/screwsline/front_end/product.php?product_id=104 Я написал следующую функцию для добавления заголовков таблицы в каждые пять строк:

jQuery.fn.hrReplace = function() {
    var headers = $(this).find('table.products tr:eq(0)');

    $(this).find('table.products tr:nth-child(5n)').after(headers);
    $(this).find('table.products tr:eq(0)').before(headers);
}

Это прекрасно работает при загрузке страницы. Затем я добавил функцию во время команды ajax:

$.ajax({
    type: "POST",
    url: formAction,
    data: myForm,
    success: function() {
        $('#top_bar').load(base + 'index.php #top_bar');
        $('#' + divId).load(document.URL + '&random=' + Math.random() * 99999 + ' #' + divId, {
            'gaugeMinFil':parseFloat($('input[name="gaugeLow"]').val()),
            'gaugeMaxFil':parseFloat($('input[name="gaugeHigh"]').val()),
            'lengthMinFil':parseFloat($('input[name="lengthLow"]').val()),
            'lengthMaxFil':parseFloat($('input[name="lengthHigh"]').val())
        });
        $('#tableHolder').hrReplace();
    }
});

Но после перезагрузки div hrReplace () не работает.

1 Ответ

1 голос
/ 10 июня 2011

Вызов функции должен быть в обратном вызове для вызова .load, поэтому это происходит после его завершения.

$.ajax({
    type: "POST",
    url: formAction,
    data: myForm,
    success: function() {
        $('#top_bar').load(base + 'index.php #top_bar');
        $('#' + divId).load(document.URL + '&random=' + Math.random() * 99999 + ' #' + divId, 
           {
            'gaugeMinFil':parseFloat($('input[name="gaugeLow"]').val()),
            'gaugeMaxFil':parseFloat($('input[name="gaugeHigh"]').val()),
            'lengthMinFil':parseFloat($('input[name="lengthLow"]').val()),
            'lengthMaxFil':parseFloat($('input[name="lengthHigh"]').val())
           }, 
           function() { 
               $('#tableHolder').hrReplace();
           }
        );
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...