2017-10-18 14 views
1

https://jsfiddle.net/pnnorhtg/數據表的排序與更新的jsfiddle與混合數字數據和字母

我有一個數據表,我有困難的時候「與HTML號」數據表插件https://datatables.net/plug-ins/sorting/num-html初始化。

它最初是根據「計數」DESC進行排序的。但是,一旦我執行我的函數,修改並附加到該列中的每個單元格的HTML不再排序。

基於我的研究,這個插件應該能夠解決這個問題,但我沒有運氣。

這是我的數據:

var preHtmlData = [{ 
    Brand: "Toyota", 
    Count: 33423, 
    GBV: 242445 
}, { 
    Brand: "Ford", 
    Count: 23558, 
    GBV: 334343 
}, { 
    Brand: "Honda", 
    Count: 9466, 
    GBV: 933455 
}]; 

這是我的功能,通過雲和添加HTML文本基於密鑰值:

//adding text next to Count 
function updateItemCount(preHtmlData) { 
    for(var key in preHtmlData) { 
      var value = preHtmlData[key]; 
      console.log(value) 

    if (value.Brand == 'Toyota') { 
      value.Count = value.Count + ' <div style="font-size: 10px;margin-top: -5px">Toyota Purchases</div>'; 
     } else if (value.Brand == 'Ford') { 
      value.Count = value.Count + ' <div style="font-size: 10px;margin-top: -5px">Ford Purchases</div>'; 
     } else if (value.LOB == 'Honda') { 
      value.Count = value.Count + ' <div style="font-size: 10px;margin-top: -5px">Honda Purchases</div>'; 
     } 
     } 
    } 

這是我在哪裏初始化表:

summary_data_table = $('#resultsTable').DataTable({ 
     "bSort": true, 
     "destory": true, 
     "data": data, 
     "searching": false, 
     "paging": false, 
     "order": [ 
      [aryJSONColTable.length - 1, "desc"] 
     ], 
     "dom": '<"top">t<"bottom"><"clear">', 
     "columnDefs": aryJSONColTable, 
       [ 
       { type: 'natural-nohtml', targets: 5 } 
       ] 
     "initComplete": function(settings, json) { 
      $("#resultsTable").show(); 
     } 
    }); 

我已經添加了插件並根據文檔構建了我的代碼,我有感覺它的一些我如何定義我的columnDefs,但我需要它來執行aryJSONColTable和自然排序。

+0

錯誤'「columnDefs」:aryJSONColTable,'似乎導致此問題 – davidkonrad

回答

0

UPDATE

從您提琴看到,您可以通過下訂單類型(「類型」:「自然」)克服了這個問題,你傳遞給columnDefs您的自定義屬性裏面

customParams = { 
    "targets": keys.length - 1, 
    "sTitle": "Item Count", 
    "type":"natural" 
} 

請參閱解決方案的更新提琴https://jsfiddle.net/pnnorhtg/1/

+0

感謝您的迴應,我已經嘗試過這種情況,排序功能仍然無法正常工作。我應該在datatables.js文件之前初始化natural.js插件嗎?或者那個命令不重要?現在我在datatables.js之後調用natural.js腳本,但我已經嘗試了兩種方法。 –

+0

你可以生產jsfiddle請問我們可以幫助你更好嗎? – MaVRoSCy

+0

這裏是一個jsfiddle https://jsfiddle.net/pnnorhtg/希望這有助於。另外,如果除了自然排序插件之外還有其他方法,我想知道它 –