JQuery вставка содержимого AJAX - PullRequest
0 голосов
/ 23 июля 2011

Эта функция вставляет поле загрузки файла в определенный div

$(".add_file_field").click(function() {
    var qid = $(this).attr("rel");
    $(this).parent().before("<div id='p_holder'></div>");
    $("#p_holder").load("<?=site_url('survey/add_upload_field')?>", {
        'qid': qid 
    });
    return false;
});

. Оно вызывается нажатием на ссылку в этом фрагменте

<span class="add_field_wrap">
    <a rel="31" class="add_file_field" href="http://domain.com/kms/#">
        Add another file
    </a>
</span>

Как мне получить его для вставкисодержимое непосредственно перед span.add_field.wrap, т.е.без указания конкретного контейнера, который будет получать содержимое?Пролет и вся остальная разметка должны оставаться на месте;Дело в том, что пользователь может добавить столько полей для загрузки файлов, сколько он хочет.

Спасибо

Ответы [ 4 ]

2 голосов
/ 23 июля 2011
$(".add_file_field").click(function(){
    var qid = $(this).attr("rel");
    var parent = $(this).parent();

    $.get("<?=site_url('survey/add_upload_field')?>", {'qid': qid }, function(data) {
        $(parent).before(data);  
    });

    return false;
});
1 голос
/ 23 июля 2011

Это то, что вы хотите?

$('.add_field_wrap').before(required_html_content);
0 голосов
/ 23 июля 2011

Попробуйте это

$(".add_file_field").click(function(){
    var qid = $(this).attr("rel");
    if(!$("#p_holder").length){
      $(this).parent().before("<div id='p_holder'></div>");
    }
    $.get("<?=site_url('survey/add_upload_field')?>", {'qid': qid },
     function(response){ 
       $("#p_holder").append(response);
    });
    return false;
});
0 голосов
/ 23 июля 2011
$(".add_file_field").click(function(){
    var qid = $(this).attr("rel");
    $(this).parent().before("<div id='p_holder'></div>");
    $("#p_holder").load("<?=site_url('survey/add_upload_field')?>", {'qid': qid },
      function(data){
         $("span.add_field_wrap").insertBefore(data);
    })
   return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...