2014-03-30 107 views
0

我在我的代碼中使用jQuery,datatable和bootstrap。我的代碼相當簡單,沒有標籤丟失,但它的行爲不正常。在追加行之前,我試圖刪除除第一行之外的所有行,但它不會刪除。下面是我的代碼jQuery表不刪除行

HTML代碼

<table id="attendanceDetails" class="table table-bordered table-hover"> 
      <thead> 
      <tr> 
       <th>Date</th> 
       <th>Time In</th> 
       <th>Time Out</th> 
       <th>Permission Reason</th> 
       <th>Absence Hrs</th> 
       <th>Late Hrs</th> 
       <th>Overtime Hrs</th> 
       <th>Official Hrs</th> 
       <th>Personal Hrs</th> 
      </tr> 
      </thead> 
      <tbody> 
      </tbody> 
     </table> 

下面的代碼,我是從Click事件調用的jQuery

function getMyAttandance(flag) { 
if (flag == 1) { 
    if ($("#selAttendMonth").val() == "") { 
    alert("Please select valid Month"); 
    return false; 
    } 
    if ($("#selAttendYear").val() == "") { 
    alert("Please select valid Year"); 
    return false; 
    } 
} 
$("#divLoading").show(); 
$('#attendanceDetails tbody').html(''); 
    $.ajax({ 
    type: "POST", 
    url: "/_layouts/15/selfService.aspx/LoadAttendance", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    data: "{'loginName':'" + loginName.split("\\")[1] + "','month':'" + $("#selAttendMonth").val() + "','year':'" + $("#selAttendYear").val() + "'}", 
    async: false, 
    cache: false, 
    success: function (msg) { 
     var data = JSON.parse(msg.d) 
     $.each(data, function (key, value) { 
     if (key == "AttendanceDetails") { 
      $.each(value, function (i, j) { 
      if ((parseDate(j.Date).getDay() == 5) || (parseDate(j.Date).getDay() == 6)) 
       $("#attendanceDetails > tbody:last").append('<tr class="weekend"><td>' + j.Date + '</td><td>' + j.TimeIn + '</td><td>' + j.TimeOut + '</td><td>' + j.PermissionReason + '</td><td>' + j.ABSHours + '</td><td>' + j.LateHours + '</td><td>' + j.OverTimeHours + '</td><td>' + j.OfficailHours + '</td><td>' + j.PersonalHours + '</td></tr>'); 
      else 
       $("#attendanceDetails > tbody:last").append('<tr><td>' + j.Date + '</td><td>' + j.TimeIn + '</td><td>' + j.TimeOut + '</td><td>' + j.PermissionReason + '</td><td>' + j.ABSHours + '</td><td>' + j.LateHours + '</td><td>' + j.OverTimeHours + '</td><td>' + j.OfficailHours + '</td><td>' + j.PersonalHours + '</td></tr>'); 
      }); 
     } 
     else 
      $("#" + key).text(value); 
     }); 
     $('#attendanceDetails').dataTable({ 
     "iDisplayLength": 10, // records per page 
     //"sDom": "t<'row'<'col-md-6'i><'col-md-6'p>>", 
     "sPaginationType": "bootstrap", 
     "bFilter": false, 
     "bLengthChange": false, 
     "bDestroy": true 
     }); 
     $("#divLoading").hide(); 
    } 
    }); 
    } 
+0

我發現這個問題,當我禁用數據表代碼時,它開始按預期工作。它清空整個桌子並帶來新的數據。現在,據我所知datatable正在問題可以有人幫助我。 – Milind

+0

你可以使用jQuery.remove(jQuery) – Smash

回答

0

我用下面這有助於我

if($('#attendanceDetails').dataTable() != null)  
$('#attendanceDetails').dataTable().fnDestroy(); 
$('#attendanceDetails tbody').empty();