2012-03-22 46 views
0

我在asp.net中分配标签文本的double值(例如124.00)时遇到困难。该标签位于.net母版页面的内容页面中。gridview中的数值字段复选框的总和

,但我有以下两个问题:

<script type="text/javascript"> 
var totalAmount = 0; //Defined global variable; 

function addval(vals) //I am passing vals(Double from sever side) 
{ 
totalAmount = totalAmount + vals; 
(document.getElementsByTagName("<%= lblCurrentProductTotal.ClientID %>")).value= totalAmount.toString(); 
} 


</script> 
  • 每次 “clickCh” 之称;这会设置传入参数的totalAmount(全局变量)。这就好像我通过145第一次分配为"0145",第二次如果我通过156,总额将变为"0145156",因为我预计它将添加为145+156=301

  • 它没有分配值的标签“lblCurrentProductTotal” 请让我知道如果我失去了一些东西。

在此先感谢!

+0

我怀疑你实际上传递字符串,不是“双打”(我猜你是指JavaScript中的数字)。 – pimvdb 2012-03-22 09:56:03

回答

0

您正在连接字符串而不是添加双打。

要么确保vals作为数字传递,要么像下面那样使用parseFloat将其转换为数字。

var totalAmount = 0; //Defined global variable; 

function addval(vals) //I am passing vals(Double from sever side) 
{ 
    vals = parseFloat(vals); 
    totalAmount = totalAmount + vals; 
    (document.getElementsByTagName("<%= lblCurrentProductTotal.ClientID %>")).value= totalAmount.toString(); 
} 
+0

你是否希望我将全局变量声明为float类型? – NewToNet 2012-03-22 10:03:41

+0

你不能在javascript中声明浮点数。应该不需要进一步的全局变量,并且totalAmount被正确声明(前提是我们不讨论避免全局变量:)) – 2012-03-22 10:04:52

+0

但是,当我解析vals以浮点时,我的全局变量声明给出了一个错误。 – NewToNet 2012-03-22 10:05:36

0

你有tp解析val float:parseFloat(val)。 和标签问题: 我认为你必须改变getElementsByTagNamegetElementById,给标签 使用的ID此代码更改标签值:

var label = document.getElementById("<%= lbl.ClientID %>") 
    label.firstChild.data="changed" 
+0

这个级别在输出呈现为 - R 156但我试过getElementById以及getElementByTag都没有赋值。虽然我能够通过调试看到脚本找到了countrol, – NewToNet 2012-03-22 11:42:02

+0

我改变了我的代码。现在看到它,你必须得到跨度的第一个孩子并获得它的数据。现在看到我的答案,并投票给它,如果它可以帮助你。 – 2012-03-22 12:19:16

相关问题