Как загрузить PHP через jQuery и добавить его в существующий контейнер div

#php #jquery #append

#php #jquery #добавить

Вопрос:

Я пытаюсь создать ссылку «нажмите, чтобы добавить», по которой пользователь может нажимать столько раз, сколько необходимо. Каждый раз, когда они нажимают на него, появляются 3 дополнительных поля ввода. Для этого у меня есть jQuery, который загружает PHP-файл, который создает 3 дополнительных входных параметра, а затем загружает их в существующий контейнер div.

Моя проблема в том, что после того, как пользователь один раз нажал ссылку «нажать, чтобы добавить» и увидел 3 новых поля ввода, если он нажмет «нажать, чтобы добавить» во второй раз, начальные 3 поля будут удалены из-за добавления новых 3 полей. Как я могу исправить это, чтобы при каждом нажатии пользователем добавлялось 3 поля, а предыдущие также сохранялись.

(ПРИМЕЧАНИЕ: я рассматривал возможность использования append () в сочетании с jQuery, который у меня есть ниже, но я, должно быть, получаю неправильный синтаксис, если это действительно лучшее решение).

Мой jQuery здесь:

     var loadPHP = "create_new_bucket.php";  
    $(".add_bucket").click(function(){  
        $("#tree_container2").load(loadPHP);
        return false;
    });  
  

Ответ №1:

jQuery.load() всегда заменяет содержимое в контейнере. Один из способов обойти это — добавить новый элемент к объекту и заполнить этот элемент новым HTML-кодом.

Пример:

 $('#tree_container2').append( $('<div />').load(loadPHP) );
  

Комментарии:

1. Спасибо, Джим! Это как раз то, что я искал. Ценю помощь от всех быстрых ответов.

Ответ №2:

Попробуйте это в вашем обработчике кликов

 $.get(loadPHP, function(data){
    $('#tree_container2').append(data);
}, 'html');