在另一个附加块

时间:2016-04-04 20:57:33

标签: javascript jquery ajax codeigniter

我有一个ajax脚本,可以从数据库中检索更多的X结果。结果数取决于offset隐藏字段值。脚本加倍了。在这些X新数据之后,它应该追加到另一个图像块之后,但我注意到如果我在控制台中打印所选元素,它会显示:

  

[prevObject:m.fn.init [1],context:document,selector:" #revendas_conteudo .load_more .item_estoque:nth-​​child(4)"] context:documentlength:0prevObject:m .fn.init [1]选择器:" #revendas_conteudo .load_more .item_estoque:nth-​​child(4)" proto :Object [0]

     

[prevObject:m.fn.init [1],context:document,selector:" #revendas_conteudo .load_more .item_estoque:nth-​​child(6)"] context:documentlength:0prevObject:m .fn.init [1]选择器:" #revendas_conteudo .load_more .item_estoque:nth-​​child(4)" proto :Object [0]

这意味着它试图追加仍然不存在的东西。下面是Ajax脚本:

function appendAd(offset, no) {
    console.log($('#revendas_conteudo .load_more .item_estoque:nth-child(' + offset + ')'));

    $('#revendas_conteudo .load_more .item_estoque:nth-child(' + offset + ')').after(
        '<div style="float: left; margin-top: 8px; margin-bottom: 8px; width: 100%; text-align: center;" class="anuncio">' + 
            '<img src="/uploads/publicidades/publicidade_busca_' + no + '.jpg">' +
        '</div>'
    ); 
}

$('#revendas_conteudo .btn_carregar_mais').on('click', function (e) {
    $.ajax({
        url: '/auto/carros/load_more',
        data: {
            'offset': $('#offset').val(),
            'limit': $('#limit').val(),
            'no': $('#no').val()
        },
        success: function (data) {
            obj = JSON.parse(data);
            i = 0;
            max = obj.total === obj.offset;
            var newOffset;
            no = parseInt($('#no').val()) + 1;

            $('#limit').val(obj.limit);
            $('#offset').val(obj.offset);
            $('#no').val(obj.no);

            $.each(obj.res, function (k, v) {
                newOffset = parseInt($('#offset').val()) + 1; 

                $('#revendas_conteudo .load_more').append(
                    '<div class="item_estoque">' +
                        '<div class="avatar">' +
                            '<img src="/uploads/carros/destaque/' + obj.res[i].imagem_destaque + '"/>' +
                        '</div>' +
                        '<div class="texto_anuncio">' +
                            '<h4>' + obj.res[i].modelo.substring(0, 19) + '</h4>' +
                            '<div class="detalhes">' +
                                '<span>' + obj.res[i].marca + ' | ' + obj.res[i].combustivel + ' | ' + obj.res[i].cor + '</span>' +
                                '<span>' + obj.res[i].ano + '</span>' +
                                '<span>' + obj.res[i].kilometragem + ' km</span>' +
                            '</div>' +
                            '<span class="anunciante">' + obj.res[i].nome_anunciante + '</span>' +
                        '</div>' +
                        '<div class="texto_anuncio_right">' +
                            '<span class="preco"> R$ ' + obj.res[i].preco + '</span>' +
                            '<a href="/comprar/detalhes/' + obj.res[i].id + '" class="bt_vejamais">Veja Mais</a>' +
                        '</div>' +
                    '</div>'
                );

                i++;
                $('#offset').val(newOffset);
                $('#no').val(no);

                if (newOffset == obj.total) {
                    $('#revendas_conteudo .btn_carregar_mais').css({backgroundColor: '#999'}).html('Sem mais resultados').attr('disabled', true);
                } 
            });
        },
        complete: function() {
            appendAd($('#offset').val(), no);
        }
    });
});

我该怎么办?在追加另一个HTML块之后追加一个块?

0 个答案:

没有答案