我在軌建立每週拖和下降日曆& jQuery和我這是怎麼做的:
我有一個每週表包含行TD的是投擲的,並且可拖動div的內部對TD的是這個樣子的:
<tr>
<td><h4>12:00pm</h4></td>
<td class="droppable" data-date="2013-06-30" data-time="12:00pm"></td>
<td class="droppable" data-date="2013-07-01" data-time="12:00pm"></td>
<td class="droppable" data-date="2013-07-02" data-time="12:00pm">
<div class="draggable" data-id="78" data-update-url="/update_weekly_calendar/78">
<a href="/event/78/edit">12:00pm Event</a>
</div>
</td>
<td class="droppable" data-date="2013-07-03" data-time="12:00pm"></td>
<td class="droppable" data-date="2013-07-04" data-time="12:00pm"></td>
<td class="droppable" data-date="2013-07-05" data-time="12:00pm"></td>
<td class="droppable" data-date="2013-07-06" data-time="12:00pm"></td>
</tr>
我在底部用這樣的腳本標籤:
<script>
$('.droppable').droppable({
accept: ".draggable",
drop: function(event,ui) {
$.post(ui.draggable.data('update-url'), {date: $(this).data('date'), time: $(this).data('time')});
$(this).effect("highlight", {}, 1500);
}
})
$('.draggable').draggable()
</script>
當可拖動的div被丟棄,它觸發POST,看起來像這樣:
Started POST "/update_weekly_calendar/78" for 127.0.0.1 at 2013-07-02 13:42:27 -0700
Processing by CalendarsController#update_weekly as */*
Parameters: {"date"=>"2013-07-03", "time"=>"9:30am", "id"=>"78"}
從那裏,我做我的事,找到事件#78,和更新日期和開始&停止時間。提示:事件「查找」後,請記得首先計算事件的持續時間,以便您可以計算更新事件的「停止時間」的「&」。
我也在做一個拖動&下降每月日曆使用上述代碼的簡單版本(沒有「時間」參數,只有日期),所以我會省略它。希望這可以回答你的問題。