我试图通过在文本字段中输入数量和成本来动态计算成本,进行数学计算并将值返回到<label>
。我将结果发送到控制台,一切都很好,但是当我将值更新为<label>
元素时,它会显示:&#34; [object Window]&#34;。代码如下:
function updateCost(){
var numUF = $("#numUF").val();
var costUF = $("#costUF").val();
var numDBT = $("#numDBT").val();
var costDBT = $("#costDBT").val();
var numDMT = $("#numDMT").val();
var costDMT = $("#costDMT").val();
var numTr = $("#numTr").val();
var costTr = $("#costTr").val();
var valorCotiza = (numUF * costUF) + (numDBT * costDBT) + (numDMT * costDMT) + (numTr * costTr);
$("#valorCotiza").text("$ " + toString(valorCotiza));
console.log(valorCotiza);
}
这部分的HTML部分是
<div class="item">
<label class="H5">Valor total cotización:</label><br />
<label id="valorCotiza">$</label>
<br /><br />
<label class="H5">Valor IVA: (16%)</label><br />
<label id="valorIVA">$</label>
</div>
关于可能出现什么问题的任何想法? BTW,它是一个PhoneGap项目,我使用的是jQuery。
答案 0 :(得分:1)
这个toString(valorCotiza)
特定代码在常规环境中等于window.toString(valorCotiza)
。这将返回"[object Window]"
。因此,以下代码足以完成您的任务。
$("#valorCotiza").text("$ " + valorCotiza);
简单的连接就足以将数字更改为字符串。无需明确地做到这一点。如果您仍想以这种方式执行此操作,请使用Number.prototype.toString()
。这可以像,
$("#valorCotiza").text("$ " + valorCotiza.toString());
答案 1 :(得分:0)
使用String(valorCotiza)
。使用toString()
给出窗口的字符串表示(正如您所见)。
答案 2 :(得分:0)
您可以使用
valorCotiza.toString()
将数字转换为字符串。如果在不使用字符串进行concat操作时需要字符串,则必须使用它。特别是在您的情况下,您的连接操作(&#34; $&#34; + valorCotiza)应该这样做。