我有一张桌子,当前每个月的每天都有大约500行字段。 表的列如下。
供应商| 1 | 2 | ...... | 31
现在取决于<TD>
星期一的课程为星期日,涂于星期二等等。
我还有一张桌子,每天有一个7个复选框
即[]星期一[]星期二..... []星期日
代码如下
<table><tr>
<td><input type="checkbox" id="Mo" name="Mo" checked onclick="ToggleDay('Mo')">Mo</td>
<td><input type="checkbox" id="Tu" name="Tu" checked onclick="ToggleDay('Tu')">Tu</td>
<td><input type="checkbox" id="We" name="We" checked onclick="ToggleDay('We')">We</td>
<td><input type="checkbox" id="Th" name="Th" checked onclick="ToggleDay('Th')">Th</td>
<td><input type="checkbox" id="Fr" name="Fr" checked onclick="ToggleDay('Fr')">Fr</td>
<td><input type="checkbox" id="Sa" name="Sa" checked onclick="ToggleDay('Sa')">Sa</td>
<td><input type="checkbox" id="Su" name="Su" checked onclick="ToggleDay('Su')">Su</td>
</tr></table>
该功能的代码如下
function ToggleDay(daynm) {
loading.open();
var myvar1 = "#" + daynm;
if ($(myvar1).is(":checked"))
$('.' + daynm).show("slow");
else
$('.' + daynm).hide("slow");
loading.close();
}
以上代码应该像我在任何一天取消检查一样工作,例如。星期一然后它应该首先从复选框中删除选中的标记,显示微调器,隐藏所有类别为“Mo”的TD,最后隐藏微调器。
它可以工作,完成全部操作需要5到6秒。但是当我取消勾选复选框时,它会在完成操作后更新所有页面。即使用户点击了复选框,用户仍会看到复选标记。
是否有任何方法可以在两者之间刷新操作,表明在每个逻辑操作完成后页面都会刷新。即,用户应立即取消选中此框,然后查看微调器,并且在5至6秒钟之后,当隐藏所有类“Mo”时,应隐藏微调器。
答案 0 :(得分:0)
尝试使进程异步:
function ToggleDay(daynm) {
setTimeout(function() {
loading.open();
var myvar1 = "#" + daynm;
if ($(myvar1).is(":checked"))
$('.' + daynm).show("slow");
else
$('.' + daynm).hide("slow");
loading.close();
}, 1);
}