Mam tabelę, która zawiera jakieś zadania. Po kliknięciu przy którymś checkboxa, wysyłam Ajax’em informację do akcji o zamknięciu zadania. Akcja updatuje mi zadania.
Lista odświeża się co minutę (też ajaxowe zapytanie do akcji i zwrócenie nowych wartości), więc pozostają tylko aktywne zadania.
Problem mam z prototypem - po załadowaniu partiala poprzez render :update, nie działa mi już wywoływanie akcji poprzez zaznaczanie checkboxa. W ogóle cały js odpowiedzialny za tą tabelę mi nie odpala.
Jest jakiś sposób żeby nawet po ajaxowym updacie, nadal działało Event.observe(window, ‘load’, …funkcje updatowania/odświeżania tabeli…) ?
Pamiętam, że podobny problem miałam kiedyś z jQuery i wystarczyło użyć live zamiast click, ale tutaj nie mam pojęcia jak to wymusić…
Dzięki Link nie pomógł mi bezpośrednio, ale dzięki niemu doszłam do rozwiązania
Przeczytałam, że to, co w jQuery zabezpiecza .live(), czyli działanie funkcji po ajax reqest, w Prototypie można rozwiązać po prostu ponownym wywołaniem funkcji przy updacie elementu.
u mnie ten fragment kodu wyglądał tak
render :update do |page|
page.replace_html 'table-it-form', :partial => 'list', :locals => { :issues => @issues, :query=>@query}
page.call('close_ticket()')
end
updatowanie tabeli #table-it-form i ponowne wywołanie funkcji, która ma obserwować, czy któryś element na liście ma być zamknięty