Можно ли заполнить атрибут javascript из поля записей? - PullRequest
0 голосов
/ 20 февраля 2011

У меня есть таблица записей мест, которые отображаются на странице индекса как частичные.Возможно ли, чтобы значения .left и .top в javascript были заполнены целочисленным полем, взятым из записей места?

Кроме того, как я могу запустить показанный сценарий для каждого частичного события, поскольку в настоящее время он применяется только к первому созданному частичному.за любую помощь очень ценится!

Ответы [ 2 ]

1 голос
/ 20 февраля 2011

Да по обоим пунктам.Теперь у вас проблема в том, что вы ссылаетесь на элемент по идентификатору в javascript, но этот идентификатор не уникален, поэтому javascript находит первый экземпляр этого идентификатора и применяет к нему правила, а не к остальным элементам div.Чтобы это исправить, вам нужно использовать уникальные идентификаторы:

<%= link_to venue do %>
  <div class="venue_partial">

    <div class="venue_icon">
      <%= image_tag venue.venuetype.photo.url(:thumb), :class => 'image' %>
    </div>

    <span class="venue_partial_name"><%= venue.name %></span>
    <span class="venue_area_and_type"><%= venue.venuetype.name %></span>
    <span class="venue_area_and_type"><%= venue.area.name %></span>
  </div>

  <div id="venue_map_icon_<%= venue.id %>" style="position:absolute;"></div>

  <script>
    document.getElementById("venue_map_icon_<%= venue.id %>").style.left= "<%= venue.left %>px";
    document.getElementById("venue_map_icon_<%= venue.id %>").style.top= "<%= venue.top %>px";
  </script>
<% end %>
0 голосов
/ 20 февраля 2011

Конечно, его нужно выводить так же, как вы делаете это в HTML:

document.getElementById("venue_map_icon").style.left = "<%= venue.somevalue %>px";
...