创建课程时间表

使用教程 » Creating a School Timetable

本教程将向您展示如何使用jQuery EasyUI创建学校时间表。 我们将建两个表:左边是课程表,右边是课程表单元格。 你可以把功课拖到课程表单元格里。 学校科目为<div clas s="item">元素,而时间表单元格是<td class="drop">元素。

显示学习科目

  1. <div class="left">
  2. <table>
  3. <tr>
  4. <td><div class="item">English</div></td>
  5. </tr>
  6. <tr>
  7. <td><div class="item">Science</div></td>
  8. </tr>
  9. <!-- other subjects -->
  10. </table>
  11. </div>

显示时间表

  1. <div class="right">
  2. <table>
  3. <tr>
  4. <td class="blank"></td>
  5. <td class="title">Monday</td>
  6. <td class="title">Tuesday</td>
  7. <td class="title">Wednesday</td>
  8. <td class="title">Thursday</td>
  9. <td class="title">Friday</td>
  10. </tr>
  11. <tr>
  12. <td class="time">08:00</td>
  13. <td class="drop"></td>
  14. <td class="drop"></td>
  15. <td class="drop"></td>
  16. <td class="drop"></td>
  17. <td class="drop"></td>
  18. </tr>
  19. <!-- other cells -->
  20. </table>
  21. </div>

拖动左边的学校上课科目

  1. $('.left .item').draggable({
  2. revert:true,
  3. proxy:'clone'
  4. });

在课程表单元格中放弃学习科目

  1. $('.right td.drop').droppable({
  2. accept: '.item',
  3. onDragEnter:function(){
  4. $(this).addClass('over');
  5. },
  6. onDragLeave:function(){
  7. $(this).removeClass('over');
  8. },
  9. onDrop:function(e,source){
  10. $(this).removeClass('over');
  11. if ($(source).hasClass('assigned')){
  12. $(this).append(source);
  13. } else {
  14. var c = $(source).clone().addClass('assigned');
  15. $(this).empty().append(c);
  16. c.draggable({
  17. revert:true
  18. });
  19. }
  20. }
  21. });

正如上面的代码所示,当用户拖动左边的学校主题并将其拖放到schedule单元格中时, 将调用onDrop回调函数。我们克隆从左侧拖动的源元素,并将其附加到时间表单元格上。 当拖动学校科目从时间表单元格到另一个单元格,只需移动它。

下载 EasyUI 实例:

easyui-timetable-demo.zip

联系我们
手机/微信
18973127736
办公电话
0731-89565588