У меня есть этот код ниже.Умножение в таблицах данных
$(document).ready(function() {
function getCodeNameSpecsSize(data, type, dataToSet) {
return data[3] + ", " + data[4] + ", " + data[5] + ", " + data[6];
}
function getTotalPrice(data, type, dataToSet) {
return data[7] * data[9];
}
var table = $('#incoming_material').dataTable({
"aProcessing": true,
"aServerSide": true,
"scrollY": 350,
"scrollX": true,
"deferRender": true,
"ajax": "Scripts/server-response-im.php",
"aoColumns": [
{"data": "1", "sClass": "align_center"},
{"data": "2", "sClass": "align_center"},
{"data": getCodeNameSpecsSize, "sClass": "align_center"},
{"data": "7", "sClass": "align_center"},
{"data": "8", "sClass": "align_center"},
{"data": "9", "sClass": "align_center"},
{"data": "10", "sClass": "align_center",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
var $currencyCell = $(nTd);
var commaValue = $currencyCell.text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
$currencyCell.text(commaValue);
}
},
{"data": getTotalPrice, "sClass": "align_center",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
var $currencyCell = $(nTd);
var commaValue = $currencyCell.text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
$currencyCell.text(commaValue);
}
},
{"data": "11", "sClass": "align_center"},
{ "mData": null , "sClass": "align_center",
"mRender" : function (data, type, full) {
return '<a href="redirect_preview_po.php?c='+data[2]+'" target=_blank>Preview</a>';}
}
],
"aaSorting": [[0,'desc']],
dom: 'Bfrtip',
lengthMenu: [
[ 10, 25, 50, -1 ],
[ '10 rows', '25 rows', '50 rows', 'Show all' ]
],
buttons: [
'pageLength',
'print',
'copyHtml5',
'excelHtml5',
'csvHtml5',
'pdfHtml5',
'colvis'
],
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Я сделал getCodeNameSpecsSize функции для работы, но функции getTotalPrice не работает. Таблица показывает мне Значение NaN вместо qty * unit_price.
QTY = data[7];
Unit Price = data[9];
Заранее благодарен. Любая помощь будет высоко ценится.
QTY и цена единицы товара уже BIGINT в моей таблице, также я пробовал ваш код return parseInt (данные [7]) * parseInt (данные [9]); это не работает. Есть идеи? Благодарю. –
Трудно отлаживать без каких-либо вводных данных. Попробуйте добавить точку останова в функции или войти в консоль, чтобы узнать, что происходит. Также временно закомментируйте функцию fnCreatedCell и попытайтесь изолировать проблему. –
Теперь мой код работает. Виноват. После того, как я проверил все, я получаю этот unit_price = data [10]; а не данные [9]; Таким образом, результат не будет доступен или NaN. Спасибо за поддержку. –