gpt4 book ai didi

javascript - parseInt 正在为总值的 CSS 属性返回 NaN

转载 作者:太空宇宙 更新时间:2023-11-04 11:40:09 27 4
gpt4 key购买 nike

所以基本上我试图将样式插入到从 php 文件加载数据的表中(php 文件从 mysql 中提取它)并且 JavaScript 将数据显示到表中并计算总计/平均值显示的数据。

我的 PHP 文件包含我的表的数据。

   $data .= "['$offer_name','$clicks', '$leads', '$$revenue', '$crate%', '$$avgCPA', '$$epc'],";

我的包含 html/css 的 tpl 文件还包含从 PHP 加载数据的 JavaScript

    {literal}
<script type="text/javascript">

$(document).ready(function(){

$('#dataGrid').dataTable( {
"fnFooterCallback": function ( nRow, aaData, iStart, iEnd, aiDisplay ) {

var clicks = 0;
var downloads = 0;
var conv = 0;
var avgCPA = 0;
var epc = 0;
var revenue = 0;
var conv_ = 0;

for ( var i=0 ; i<aaData.length ; i++ )
{
clicks += parseInt(aaData[i][1]);
downloads += parseInt(aaData[i][2]);
conv += parseFloat(aaData[i][4]);
avgCPA += parseFloat(aaData[i][5].substring(1));
epc += parseFloat(aaData[i][6].substring(1));
revenue += parseFloat(aaData[i][3].substring(1));
}

revenue = Math.round(revenue*100)/100;
conv_ = (clicks == 0) ? 0 : (downloads/clicks)*100;
//conv = conv_.toString().match(/^\d+(?:\.\d{0,2})?/);
conv = Math.round(conv_);
avgCPA = (downloads == 0) ? 0 : Math.round((revenue/downloads)*100)/100;
epc = (clicks == 0) ? 0 : Math.round((revenue/clicks)*100)/100;

var nCells = nRow.getElementsByTagName('th');
nCells[1].innerHTML = clicks;
nCells[2].innerHTML = downloads;
nCells[3].innerHTML = '$'+revenue;
nCells[4].innerHTML = conv+'%';
nCells[5].innerHTML = '$'+avgCPA;
nCells[6].innerHTML = '$'+epc;
},

{/literal}
"aaData": [{$data}],

{literal}

});

});

</script>
{/literal}

这是结果,它正常工作并计算出正确的数据

        Total/Average   10      10      $48.9       100%     $4.89     $4.89

但是当我尝试向 php 代码添加样式(我尝试了内联样式和使用 css)时

    $data .= "[';$offer_name','<span class=\"tabclicks\">$clicks</span>', '<span class=\"tableads\">$leads</span>', '<span class=\"tabrevenue\">$$revenue</span>', '<span class=\"tabconv\">$crate%</span>', '<span class=\"tabcpa\">$$avgCPA</span>', '<span class=\"tabepc\">$$epc</span>'],";

表格正在加载数据,这意味着样式正在工作,但 java 脚本返回 NaN 以换取总计/平均值

    Total/Average       NaN     NaN     $NaN        NaN%        $NaN        $NaN

最佳答案

一旦您在数字周围添加了更多文本 (html),它们就无法被解析为 Int。你应该保持数据干净,你可以直接将类名添加到 nCells 元素。

nCells[1].className = "tabclicks";
// etc...

关于javascript - parseInt 正在为总值的 CSS 属性返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31416750/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com