NaN从JavaScript函数返回,而警报返回数字

时间:2016-02-01 08:27:34

标签: javascript jquery

我想将货币编号的单词输出显示为工具提示。我希望在悬停时获得类似->的内容,获取表格中的值,计算单词等效值并将其显示为工具提示。 我正在使用Number to word converter功能,它可以独立工作。但是下面的代码返回的不是数字,尽管" var b"提醒数字值。

function getVal() {
  $('#data1 tr td.num').hover(function() {
    var a = $(this).html();
    var b = parseFloat(a.replace(/[^0-9.]/g, ''));
    alert(b); /// working fine giving number as alert 
    return parseInt(b, 10);
  });
}


/****setting title function ***/
function titleSetter(node) {

  var num2words = new NumberToWords();
  num2words.setMode("indian");

  var indian = num2words.numberToWords(getVal()); /// NaN error
  return indian;
}


/****setting title value ***/

$('.num').tooltip({
  title: titleSetter
})
<td class="text-right num" data-toggle="tooltip"><i class="fa fa-inr"></i> 
<?php echo $fmt ->format($sum); ?></td>

对此代码或其他满足我要求的其他内容的一些帮助是受欢迎的,并提前感谢

1 个答案:

答案 0 :(得分:1)

问题是getVal函数正在添加hover事件,该事件未返回任何值。

尝试将texttitleSetter传递到getVal,如下所示: -

function getVal(text) {
    var b = parseFloat(text.replace(/[^0-9.]/g, ''));
    alert(b); /// working fine giving number as alert 
    return parseInt(b, 10);
}


/****setting title function ***/
function titleSetter() {

  var num2words = new NumberToWords();
  num2words.setMode("indian");

  var text = $.trim($(this).text());

  var indian = num2words.numberToWords(getVal(text));
  return indian;
}


/****setting title value ***/

$('.num').tooltip({
  title: titleSetter
})