javascript中的动态表

时间:2012-06-20 09:58:02

标签: javascript jquery html css

see jsbin 如果你看到我的jsbin然后我有两个表硬编码表和动态表。 我必须像硬编码表一样创建dyanamic表。 我有一个小时coloumn的问题我如何循环通过表格,以创建小时coloumn像硬编码表。

for (var i = 1; i < parseFloat(timeSlot); i++)
            {
                row = tableAppointment.insertRow(i);
                cell1 = row.insertCell(0);
                cell1.className += 'csstablelisttd';
                cell2 = row.insertCell(1);
                cell2.className += 'csstablelisttd';
                cell3 = row.insertCell(2);
                cell3.className += 'csstablelisttd';
                cell1.innerHTML = startTime;                
                cell2.innerHTML = parseFloat(constMinutes);
                constMinutes = parseFloat(constMinutes + 15);
                if (constMinutes == "60")
                {
                    constMinutes = 0;
                }
            }

3 个答案:

答案 0 :(得分:1)

你的意思是this吗?

        for (var i = 1; i < parseFloat(timeSlot); i++)
        {
            row = tableAppointment.insertRow(i);
            cell1 = row.insertCell(0);
            cell1.className += 'csstablelisttd';
            cell2 = row.insertCell(1);
            cell2.className += 'csstablelisttd';
            cell3 = row.insertCell(2);
            cell3.className += 'csstablelisttd';

            if (constMinutes === 0) {
              cell1.innerHTML=startTimeHour++ + ":00" + startTimeAMPM;
            }   

            cell2.innerHTML = parseFloat(constMinutes);
            constMinutes = parseFloat(constMinutes + 15);
            if (constMinutes == "60")
            {
                constMinutes = 0;
            }
        }

我修改了设置cell1.innerHTML

的行
            if (constMinutes === 0) {
              cell1.innerHTML=startTimeHour++ + ":00" + startTimeAMPM;
            }   

编辑:

对于正确的AM或PM,我设置一个递增的整数并使用模数运算符。这样它只会增加0或1。每当我们达到12时我都会增加它。然后它会从数组中获取文本(AMPM [0]或AMPM [1])。

        cellAMPM = 0;
        AMPM = ["AM","PM"];

...

            if (constMinutes === 0) {

              if (startTimeHour === 12) cellAMPM++;
              cell1.innerHTML= startTimeHour + ":00" + AMPM[cellAMPM%2];

              startTimeHour = Number(startTimeHour) % 12 + 1;

            }   

答案 1 :(得分:1)

http://jsbin.com/unaqel/20/edit#javascript,html,live

使用Date对象,它会显着减少你的代码

答案 2 :(得分:1)

if (constMinutes === 0)
                {
                    cell1.innerHTML = startTimeHour++ + ":00" + startTimeAMPM;
                    if (startTimeHour >= 12)
                    {
                        cell1.innerHTML = startTimeHour + ":00" + endTimeAMPM;              
                    }           
                }