使用autoNumeric js在td元素内转换值

时间:2016-03-27 00:11:29

标签: jquery

当我尝试使用autoNumeric.js将td元素中的数字转换为货币格式时,我遇到了问题,因为我在其文档中读到,此插件也支持非输入元素,所以我尝试了它。 这就是我所做的所以var(但它没有返回结果)

<td><div id="total_target_value">7885912</div></td>

这是我的价值所在这里发生的每一个问题...... 我在javascript中生成了这个td ...这里是代码的js片段......

var summaryAppend = '<tr>'
          +'<th>Target Collection</th>'
          +'<th>Success Collection</th>'
          +'<th>Progress</th>'
          +'<th style="width: 40px">Label</th>'
        +'</tr>'
        +'<tr>'
          +'<td><div id="total_target_value">'+totalTarget+'</div></td>'
          +'<td><div id="total_collected_value">'+totalCollected+'</div></td>'
          +'<td>'
            +'<div class="progress progress-xs">'
              +'<div class="progress-bar progress-bar-danger" style="width: '+collectedPercentage+'%"></div>'
            +'</div>'
          +'</td>'
          +'<td><span class="badge bg-red">'+collectedPercentage+'%</span></td>'
        +'</tr>'

$("#collection_summary").empty().append(summaryAppend);

我试着追加那个摘要,一切都很好。但是,当我尝试调用此代码时:

$('#total_target_value').autoNumeric("init",{
    aSep: '.',
    aDec: ',', 
    aSign: '€ '
});

我得到我的#total_target_value没有任何效果。

我使用chrome控制台调用div id,因为在Chrome控制台调试器中,当显示给浏览器的元素时,它将从控制台中输入的每个代码访问。我避免直接​​从我的html页面做这个调用,以避免找不到找到的元素(至少只是为了调试目的),因为,这个表元素显示在我的模态对话框后面。

你们有什么想法发现这个问题吗?

但无论如何,提前谢谢......

1 个答案:

答案 0 :(得分:0)

我从未使用过autoNumeric,所以我就去看了。希望我找到了合适的人。

因此,根据我找到的文档(http://www.decorplanit.com/plugin/),init函数支持以下非输入:

  

支持非输入标签('DD','DT','H1','H2','H3','H4','H5','H6','INPUT','LABEL',' P','SPAN','TD','TH')

这似乎与据说支持DIV的文档顶部相​​矛盾。它可能是库中的某些其他函数支持DIV,但它缺少对init函数的支持可能会解释您的问题。

我猜您需要将DIV更改为SPANP。技术上TD也被列为支持,因此您可以直接将您的号码放入单元格。

...在一个不相关的说明中,我不确定为什么INPUT与非INPUT标签一起列出,但文档可能难以编写,更糟糕的是编辑,所以我猜它发生了......