1
我有一個容器td
元素,我用其他元素使用HTML部分填充成功,它在頁面加載時完成。通過javascript文件部分調用更新html元素
部分運行在任務它作爲參數獲取的對象,並且需要添加哪些元素。
完成特定操作後,任務對象被更新,我想通過再次運行部分來更新容器。
我打電話這部分從我create.js.haml
與更新任務,部分運行,並建立正確的更新的HTML(我可以看到它在Firebug的響應)。
但實際頁面不是更新。我在這裏錯過了什麼?
這裏是我的文件:
html.haml
保存容器td
:
%td#task-categories{ :class => "#{dom_id(task)}_categories"}
= render 'task_categories_mini_bar', :task => task
局部html.haml
:
- _MAX_DISPLAYED_CAT = 3
- cat_index = 0
- task.categories.each do |category|
- if (cat_index == _MAX_DISPLAYED_CAT)
%td{:style => "padding-left:1px; padding-right:5px"} ...
- break
- cat_index += 1
%td{ :class => "task-category-color_#{dom_id(category)}",
:style => "width:60px; background:#{category.color}; border:solid 1pt lightblue; border-radius:3pt; text-align:center; "}
= truncate(category.name, :length => 10)
結合在一起,他們建立這個HTML:
<td id="task-categories" class="task_3_categories"> </td>
<td class="task-category-color_category_1" style="width:60px; background:#b8d7ff; border:solid 1pt lightblue; border-radius:3pt; text-align:center; "> cat1 </td>
<td class="task-category-color_category_2" style="width:60px; background:#ff8fcb; border:solid 1pt lightblue; border-radius:3pt; text-align:center; "> cat2 </td>
這裏還有一個問題 - 兩個添加的類別tds被添加到第一個容器td下面。我如何將它們添加到它而不是之後?
現在,這裏是調用再次部分的create.js.haml
:
$('td.#{dom_id(@task)}_categories').html(#{escape_javascript(render(:partial => 'tasks/task_categories_mini_bar', :locals => {:task => @task}))})
再次響應HTML確實顯示了新的HTML,但該網頁不更新。
我使用rails 3.0.10謝謝allot,Eyal。然後
有人在那裏嗎?我仍然需要一些幫助... – 2011-12-20 20:28:00