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;
}
}
答案 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;
}
}