单击复选框时显示jquery spinner

时间:2015-10-26 13:06:05

标签: jquery spinner

我有一张桌子,当前每个月的每天都有大约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”时,应隐藏微调器。

1 个答案:

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