Прошу помощи, грамотное размножение куска кода
Приветствую всех!
Раньше особо не писал на 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:16. |