Mam taki problem,
Tworze nowy formularz w którym zawsze mam jedną kontrolke input, oraz jet link do dodania nowego. Klikam na niego i mi dodaje nowego text_field’a .
Teraz chce wykonac jakaś akcje poprzez jquery na tych okienkach ale akcja działa tylko dla tego pierwszego, dla dynamicznego nie dziala . Co robie nie tak ?
Zapewne dajesz mu zły ID, albo nie dajesz w ogóle.
Druga kwestia to po dodaniu elementu może on nie mieć związanej procedury zdarzenia.
Pokaż kod dodający input i kod jquery to się coś poradzi.
[quote=pawelkrakow]Mam taki problem,
Tworze nowy formularz w którym zawsze mam jedną kontrolke input, oraz jet link do dodania nowego. Klikam na niego i mi dodaje nowego text_field’a .
Teraz chce wykonac jakaś akcje poprzez jquery na tych okienkach ale akcja działa tylko dla tego pierwszego, dla dynamicznego nie dziala . Co robie nie tak ?[/quote]
Aby zdarzenie działało dla dynamicznie utworzonych elementów, należy je przypisać przy użyciu metody live:
$('.price').live('click', function()
{
//obsługa zdarzenia
});
Pamiętaj, aby id nowych elementów nie były takie same.
Od wersji 1.7 jQuery metoda live() jest “deprecated”. Zaleca się, aby używać teraz metody on() -> http://api.jquery.com/on/