得到值之后,把单价和数量相乘,把结果赋给总价,总价的结果不对,显示NaN
我已经转换了,怎么还是不对,谢谢~
index.aspx
function Change(id,zj,dj)
{
var a=parseFloat(document.all(id).value);
var b=parseFloat(document.all(dj).value);
var valMoney=parseFloat(a)*parseFloat(b);
valMoney=(isNaN(valMoney)?"0":valMoney);
document.all(zj).value=parseFloat(valMoney);

}
index.aspx.cs
private void productgrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType!=ListItemType.Header && e.Item.ItemType!=ListItemType.Footer)
{
TextBox num=(TextBox)(e.Item.FindControl("txtNum"));
TextBox zj=(TextBox)(e.Item.FindControl("total"));
Label dj=(Label)(e.Item.FindControl("Label1"));
                           num.Attributes.Add("onPropertyChange","Change       ('"+num.ClientID+"','"+zj.ClientID+"','"+dj.ClientID+"')");
}
                   }

解决方案 »

  1.   

    你用TextBox看看,会不会是null,我用textbox能得到值
      

  2.   

    function Change(id,zj,dj)
    {
    var a = parseFloat(document.getElementById(id).value);
    var b = parseFloat(document.getElementById(dj).value);
    var valMoney = a*b;
    valMoney = isNaN(valMoney)?"0" : valMoney;
    document.getElementById(zj).value = valMoney;

    }
      

  3.   

    一个很重要的问题,我以前就是被那个不明问题害苦了,是这样。<asp:label id="lblmsg" runat="server">你好啊</asp:label>我老是这样写,因为在标签内,输入text没有出来自动完成的,所以就写到外头。。用你的方法死活都得不到值,我纳闷了,每次碰到这个都没办法解决后来才发现应该<asp:label id="lblmsg" runat="server" text="你好啊"></asp:label>你看看是不是这个原因,呵呵
      

  4.   

    alexzhang00的方法不行~hackate(~兰心*-*寒~) 我的是绑定的~应该不是这个问题
    <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.SellUnitPrice") %>'>
    </asp:Label>
      

  5.   

    出在Label1上得不到值~我用TextBox能得到值,怎么回事~请指教~