Если говоря ajax сайт вы имеете в виду SPA, то наиболее просто и быстро будет перейти на одно из существующих решений для SPA, их много в гугле. А если вам и вправду интересно велосипедировать, то стоит
поискать утечку памяти, ну или показать код метода destroy.
grom111, в этом видео нету того, что вы описали в вопросе: вы пишете, что лектор создаёт UI.prototype.addToList, а по факту лектор создаёт разные сущности UI и Book, и единственной связью между ними является специальный метод addBookToList. Метод clearFormListclearFields также не имеет отношения к классу Book. То есть конечно описанное вами есть, но вы чуть-чуть переврали как было на самом деле: лектор не имел в виду, что кто-то от кого-то будет наследоваться; он как раз хотел разделить сущности на "подневольные" и управляющие: Book и UI.
А логика как минимум в том, что книга это предмет и у неё нет ни возможностей, ни прав добавлять себя в какие-либо списки, поэтому управлением занимается сторонний класс-контроллер User Interface.
Vanya Huk, и это очень интересно, т.к. JSON.parse не возвращает пустую строку ни при каких обстоятельствах)) Так что либо вы показываете JSON и объясняете термин "пустота", либо я не знаю какой помощи вы ждёте.
Golcberg, я повторяю - напишите конкретный непонятный для вас пункт. Вы понимаете, что ваша задача состоит из нескольких этапов? Каждый из этих этапов сам по себе элементарный, осталось только выяснить с каким проблема у вас. Вы не можете создать элемент или вы не можете выбрать нужные элементы из DOM или что? И пожалуйста не отвечайте "непонятно как написать на jquery", эта мантра вряд ли мотивирует кого-то здесь выдать вам готовый код только потому что вам лень расписать задачу.
Golcberg, "как это сделать на jquery неясно, чтобы при вводе в input появилось в отдельном поле список категорий искомых" - это не конкретный пункт. Для того чтобы в отдельном поле появился список категорий надо 1) сотворить поле (блок, элемент), и 2) в этот элемент положить список выбранных категорий. Какой из этих пунктов не поддаётся реализации?
А какой помощи вы ждёте, если вы сами описали весь алгоритм - "чтобы не из БД вытаксивалось назавние искомой категории, а прошел поиск по DOM нашел искомую категорию,подкатегорию,разновидность и клиенту отобразился, если такая есть"? Делайте как написали, благословляю вас) Что до вопроса "Как это сделать на jquery?", то без издевок могу вам ответить, что как придумаете, так и будет сделано. Лучше опишите конкретно какие пункты вам неясны.
поискать утечку памяти, ну или показать код метода destroy.