jquery tablesorter プラグインに問題があります。
json ソースから新しいデータを取得した後、データがクリアされません。
tablesorter 呼び出しを別の場所に配置しようとしましたが、それ自体に追加され続けます。
tablesorter 呼び出しをコメントアウトすると、正常に動作します。
以下は私が使用するコードです。
function DailyProduction() {
$('#Container').addClass('daily');
var firstday = Date.today().toString('MM/dd/yyyy');
var lastday = Date.today().toString('MM/dd/yyyy');
$("#ajaxTitle").text("DAILY PRODUCTION REPORT - (" + firstday + ")");
$("#AjaxLoader2").show();
$("#dynamic_rows").empty();
$.getJSON('api/loareports.php?startdate=' + firstday + '&enddate=' + lastday, function(json){
$.each(json,function(i,loainf){
var total = loainf.Avgcallsperhour;
if (total < 15) {
x="style=\"background-color:red; font-weight:bold; font-size:16px;\"";
} // less then 15 is red
else if (total >= 15 && total <= 24) {
x="style=\"background-color:#FFDF00; color:#333; font-weight:bold; font-size:16px;\"";
} // between 15 and 24 yellow
else if (total > 25){
x="style=\"background-color:green; font-weight:bold; font-size:16px;\"";
}else {
x="";
} // above 25 is green
var tblRow =
"<tr " + x + ">"
+"<td align='center'>"+loainf.user_name+"</td>"
+"<td align='center'>"+loainf.last_name+"</td>"
+"<td align='center'>"+loainf.vmin+"</td>"
+"<td align='center'>"+loainf.vcalls+"</td>"
+"<td align='center'>"+loainf.dialavgtime+"</td>"
+"<td align='center'>"+loainf.xmin+"</td>"
+"<td align='center'>"+loainf.xcalls+"</td>"
+"<td align='center'>"+loainf.manualavgtime+"</td>"
+"<td align='center'>"+loainf.tmin+"</td>"
+"<td align='center'>"+loainf.tcalls+"</td>"
+"<td align='center'>"+loainf.totalavgtime+"</td>"
+"<td align='center'>"+loainf.leads+"</td>"
+"<td align='center'>"+loainf.loa+"</td>"
+"</tr>"
$(tblRow).appendTo("#LoaReport tbody");
$("#LoaReport").trigger("update");
});
$("#AjaxLoader2").hide();
$("#LoaReport").tablesorter({
sortList: [[9,1],[1,1]]
});
setTimeout(DailyProduction, 10000);
});
}
私はこれを機能させる方法として途方に暮れています。
#dynamic_rows
これ<tbody id="dynamic_rows"></tbody>
であり、これなしで述べたように:
$("#LoaReport").tablesorter({
sortList: [[9,1],[1,1]]
});
それは正常に動作します。