0

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]] 
});  

それは正常に動作します。

4

1 に答える 1

0

tablesorter を使用して ajax 呼び出しを行うのはどうですか?

于 2013-09-17T01:48:51.617 に答える