我試圖在我的coffeescript代碼中應用「刷新」觸發器,但我沒有找到正確的語法:jquery sortable refresh => coffeescript中正確的語法是什麼?
在標準jQuery中,它會是:$('。milestone_chain')。sortable '刷新')
它會在CoffeeScript中是什麼,知道這是我的代碼:
$('.milestone_chain').sortable
axis: 'y'
containment: 'parent'
cursor: 'move'
tolerance: 'pointer'
update: (event,ui)->
$('li > a > div > span.number').each (i, element) =>
$(element).html i+1
$.ajax($(this).attr('data-update-url') + '/' + ui.item.attr('id') + '/reorder/' + (ui.item.index() + '.js'))
的HTML如下:
<ul class="milestone_chain" data-update-url="projectmilestones">
<% projectcapstone.projectmilestones.rank(:rank).includes(:projectdepartment).each.with_index do |projectmilestone, i| %>
<li class="milestone_<%=projectmilestone.projectdepartment.ranking%>" id="<%=projectmilestone.id%>">
<div class="chainpie"><%= percent_pie(projectmilestone.status)%></div>
<div class="milestone<%=projectmilestone.projectdepartment.ranking%>"><%= link_to content_tag(:span, i+1, :class => "number"), projects_projectmilestone_path(projectmilestone) %></div>
<div class="milestonenum">
<%= link_to projectmilestone.name, projects_projectmilestone_path(projectmilestone) %>
<b class="notch"></b>
</div>
</li>
<% end %>
</ul>
它運作良好。問題在於代碼有時需要在Ajax中加載,然後再無法使用。這就是我要實現刷新方法的原因。如果我理解正確,它解決了這個問題
謝謝!
究竟是什麼問題?當我將你的代碼應用到咖啡編譯器時,我得到了我期望的Javascript ......'sortable'下的所有東西都是一個包含指定選項的對象。什麼不起作用? –
我的問題是,在Ajax中加載html時,它不起作用。我更新了這篇文章,提供了關於代碼的更多信息。 – ndemoreau