Я пытаюсь написать панель поиска и хочу иметь динамическое количество параметров для поиска. Поэтому я пытаюсь заставить jquery сначала загрузить панель поиска (в другом файле), а затем клонировать ее и добавить в тело.
Я уже пытался изменить серверные селекторы, но это не работает должным образом.
Это мой jquery-скрипт
$(document).ready(function(){
$("#add").click(function(){
$("#add_div").load("test.php");
});
$("#addbutton").click(function(){
$("#add_div").clone().appendTo("body")
});
});
test.php содержит панель поиска
Первая загрузка выполняется, как и ожидалось (один раз я получаю панель поиска), но все нажатия на кнопку «добавить» (которая загружается вместе с панелью поиска) ничего не делают.
Обновлено: исправлена небольшая ошибка
Спасибо @RoryMcCrossan за подсказку, исправил, но все равно без радости
Если элемент addbutton добавлен в DOM при вызове load()?
@RoryMcCrossan, да, это так
В этом случае вам нужно использовать делегированный обработчик событий: stackoverflow.com/questions/203198/…
@RoryMcCrossan Спасибо, это отлично решило проблему.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


селектор $("addbutton") должен быть неправильным, он ищет элемент addbutton, который не является допустимым элементом html.
$("addbutton")не является допустимым селектором. Я предполагаю, что вам не хватает префикса.или#.