Прошу помощи, грамотное размножение куска кода
Приветствую всех!
Раньше особо не писал на javascript, так, небольшие скриптики для красоты. Повстречал jQuery, вот сейчас занят довольно большим и интересным проектом и хотелось бы реализовать одну штуку на jQuery. Собственно, имеем необходимость создать фильтрацию для некоторого определенного массива. В рамках вопроса - формирование необходимой GET-строки. хотелось бы чтобы это выглядело вот так: <div class='filterItem'> <select> <option></option>...несколько штук </select> <input type='text' name='filterName' /> </div> <a href="#" >добавить условие</a> <input type='submit'> Функционал: - (сделано) при выборе чего-нибудь из выпадающего списка менялся атрибут поля ввода - при нажатии на "добавить условие" добавляется еще select, input и маленький крестик для того чтобы убрать условие (т.е. чтобы div множился) - при нажатии на сабмит данные передаются в GET, дальше фильтрацией займется php. хотелось бы, чтобы это было на jQuery Заранее спасибо за ответы |
пробовал метод clone(), но видимо для этого случая он недостаточно гибок.
Сделал вот так: $("#addFilter").click(function() { filterDiv = $('div.filterItem:first').html(); $('.filterItem:last').after("<div class=\"filterItem\">"+filterDiv+"</div>"); }); Клонирую такой вот div, содержащий следующее: <select> ... </select> <input /> <a class='deleteFilter'>Удалить</a> Проблема в том, что в клонированном элементе не работает уже ссылка Удалить. |
пробовал метод clone(), но видимо для этого случая он недостаточно гибок.
Сделал вот так: $("#addFilter").click(function() { filterDiv = $('div.filterItem:first').html(); $('.filterItem:last').after("<div class=\"filterItem\">"+filterDiv+"</div>"); }); Клонирую такой вот div, содержащий следующее: <select> ... </select> <input /> <a class='deleteFilter'>Удалить</a> Проблема в том, что в клонированном элементе не работает уже ссылка Удалить. |
Почитай про live, информации много везде, или добавлять обработчик на ссылку "удалить" после клонирования...
|
спасибо за наводку, про live надо почитать
Все решилось путем clone(true), где true позволяет склонировать и все эвенты для клонируемых элементов. |
Часовой пояс GMT +3, время: 15:18. |