Как динамически добавлять и удалять HTML-элемент с JavaScript в рельсы? - PullRequest
0 голосов
/ 08 октября 2009

У меня было это, чтобы динамически добавлять элементы в HTML

<td id="campus_list">
  <%= link_to_function image_tag("new.png", :width => 16) do |page|
    page.insert_html :bottom, 'campus_list', :partial => 'campus_selection'
  end %>
  <br/>
</td>

шаблон такой

<div>
  <%= select_tag "campuses[]", options_for_select(AvailableCampuses.map{|item| [name, id]})) %>
  <%= link_to_function image_tag("destroy.png", :width => 16), "" %>
</div>

Поскольку я не знаю, как добавить уникальный идентификатор к каждому визуализированному div, я не могу понять, как удалить каждый div с помощью link_to_function.

Не могли бы вы помочь мне в этом?

1 Ответ

2 голосов
/ 23 ноября 2009

вы можете использовать $(this).up('div').remove(); в качестве JavaScript в помощнике link_to_function. Что это делает

  1. получить узел ссылки ($(this))
  2. пройти по дереву dom до тех пор, пока не будет найден элемент div (up('div'))
  3. и удалите указанный элемент (remove())
...