搜尋

首頁  >  問答  >  主體

html - 怎么使用循环做出一个课程表?

使用django做一个课程表

我的课程表类是这样写的

应该怎样在模版里循环出一个table加上课程,能实现吗?

大家讲道理大家讲道理2900 天前444

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-04-18 09:51:16

    獲取當前週。先比較 當週 > 開始週 && 當前週 < 開始週 + 持續週。然後判斷星期,同上。然後判斷開始時刻。
    先把這些東西在陣列裡做出來,因為陣列內容是可以改的。
    最後把陣列印出來

    arr = [//课程名 星期数 开始课时 持续课时 开始周数 持续周数
        ["IOS应用开发(考查) (限选)",1,1,4,1,15],
        ["计算机二维动画制作(考查) (限选)",  2,  1,  4,  1,  15],
        ["PHP动态网页技术(考查) (限选)",  2,  5,  2,  1,  15],
        ["PHP动态网页技术(考查) (限选)",  3,  1,  2,  1,  15],
        ["职业发展与就业指导(考查) (必修)",  3,  3,  2,  2,  13],
        ["计算机二维动画制作(考查) (限选)",  4,  1,  4,  1,  15],
        ["IOS应用开发(考查) (限选)",  5,  1,  4,  1,  15],
        ["毕业设计(论文) 指导(考查) (必修)",  5,  5,  2,  1,  15]
    ];
    // document.write("<table border=1>");
    //     document.write("<tr><th>时间段</th><th>星期一</th><th>星期二</th><th>星期三</th><th>星期四</th><th>星期五</th></tr>");
    //         for(var i = 1 ; i < 13 ;i++){//循环一天有多少课 1-13 一共12节课 4 4 4 。
    //             document.write("<tr>");
    //                 document.write("<td>"+i+"</td>");
    //                 var tag = 1;//每次先读取周一的
    //                 for(var j =0 ; j < arr.length ; j++){
    //                     if(tag < arr[j][1]){//当读到周三了,我的标记还是周一,那么就证明,我缺少两天的标记
    //                         for(tag ; tag < arr[j][1] ; tag++){
    //                             // document.write("<td></td>");
    //                         }
    //                     }
    //                     if(arr[j][2] == i){//循环一周的。
    //                         tag = arr[j][1]+1;
    //                         document.write("<td rowspan="+arr[j][3]+">"+arr[j][0]+"</td>");
    //                     }
    //                 }
    //             document.write("</tr>");
    //         }
    // document.write("</table>");
    
    var arr1=[["序号","星期一","星期二","星期三","星期四","星期五"]];
    for(var i = 0 ; i < 13 ; i++){
        arr1.push([i+""]);
        for(var j = 0 ; j < 5 ; j++){
            arr1[arr1.length-1].push(" ");
        }
    }//构建了一个课程表数组
    
    for(var i = 0 ; i < arr.length ; i++){
        var name = arr[i][0];
        var week = arr[i][1];
        var start = arr[i][2];
        var startNum = arr[i][3];
        for(var j = 0 ; j < startNum ; j++){
            if( j == 0){
                arr1[start+j][week]={content:name,rowspan:startNum}
            }else{
                arr1[start+j][week]=null;
            }
        }
    }//渲染虚拟table
    
    var str = "";
    str += "<table border>";
    for(var i = 0 ; i < arr1.length ; i++){
        str+="<tr>"
        for(var j = 0 ; j < arr1[i].length ; j++){
            if(arr1[i][j] == null){
    
            }else if((typeof arr1[i][j]) == "string"){
                str+="<td>"+arr1[i][j]+"</td>";
            }else{
                str+="<td rowspan="+arr1[i][j].rowspan+">"+arr1[i][j].content+"</td>"
            }
        }    
        str+="</tr>"
    }
    str += "</table>";
    document.write(str);

    回覆
    0
  • 取消回覆