Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.03.2010, 01:38
M2_ M2_ вне форума
Новичок на форуме
Отправить личное сообщение для M2_ Посмотреть профиль Найти все сообщения от M2_
 
Регистрация: 14.03.2010
Сообщений: 4

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

Заранее спасибо за ответы
Ответить с цитированием
  #2 (permalink)  
Старый 14.03.2010, 03:12
M2_ M2_ вне форума
Новичок на форуме
Отправить личное сообщение для M2_ Посмотреть профиль Найти все сообщения от M2_
 
Регистрация: 14.03.2010
Сообщений: 4

пробовал метод 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>


Проблема в том, что в клонированном элементе не работает уже ссылка Удалить.
Ответить с цитированием
  #3 (permalink)  
Старый 14.03.2010, 03:35
M2_ M2_ вне форума
Новичок на форуме
Отправить личное сообщение для M2_ Посмотреть профиль Найти все сообщения от M2_
 
Регистрация: 14.03.2010
Сообщений: 4

пробовал метод 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>


Проблема в том, что в клонированном элементе не работает уже ссылка Удалить.
Ответить с цитированием
  #4 (permalink)  
Старый 14.03.2010, 07:26
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

Почитай про live, информации много везде, или добавлять обработчик на ссылку "удалить" после клонирования...
__________________
Нет предела совершенству...
Ответить с цитированием
  #5 (permalink)  
Старый 14.03.2010, 14:21
M2_ M2_ вне форума
Новичок на форуме
Отправить личное сообщение для M2_ Посмотреть профиль Найти все сообщения от M2_
 
Регистрация: 14.03.2010
Сообщений: 4

спасибо за наводку, про live надо почитать
Все решилось путем clone(true), где true позволяет склонировать и все эвенты для клонируемых элементов.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прошу помощи у знающих скриптовый язык Feson Общие вопросы Javascript 2 14.10.2009 00:09