简体   繁体   English

如何传递价值 <asp:textbox> 到javascript函数

[英]How to pass value from <asp:textbox> to javascript function

I am trying to call a javascript function from <asp:textbox> . 我试图从<asp:textbox>调用一个javascript函数。 My javascript function needs to add value from two <asp:textbox> , add them and then pass the value to another <asp:textbox> . 我的javascript函数需要从两个<asp:textbox>添加值,添加它们然后将值传递给另一个<asp:textbox> My javascript function is as follows 我的javascript函数如下

function getAmount() { 
    var total = $('#ItemRate').val() * $('#ItemQty').val();
    $('#ItemAmount').val(total);
}

My <textbox> is as follows 我的<textbox>如下

<asp:TextBox runat="server" id="ItemRate" />
<asp:TextBox runat="server" id="ItemQty" onchange="javascript:getAmount()" />  
<asp:TextBox runat="server" id="ItemAmount" />

Upon running, my console shows the value of total as NaN. 运行时,我的控制台显示总值为NaN。 How do I solve this one? 我该如何解决这个问题?

Here is the complete code 这是完整的代码

Value1: <asp:TextBox ID="tbx1" runat="server"></asp:TextBox>
Value2: <asp:TextBox ID="tbx2" runat="server"></asp:TextBox>
<button onclick="Add()">Add</button><br />

Result:<asp:TextBox ID="tbx3" runat="server"></asp:TextBox>

<script type="text/javascript">

    function Add()
    {

        var x = document.getElementById('<%= tbx1.ClientID %>').value;
        var y = document.getElementById('<%= tbx2.ClientID %>').value;
     document.getElementById('<%= tbx3.ClientID %>').value=parseInt(x)+parseInt(y);
    }
</script>

change value() to val() : value()更改为val()

function getAmount() { 
    var total = $('#ItemRate').val() * $('#ItemQty').val();
    $('#ItemAmount').val(total);
}

Usually ASP change the ID attribute for each elements which have runat="server" attribute. 通常,ASP会更改具有runat="server"属性的每个元素的ID属性。

So you need other attribute for selecting them, eg. 所以你需要其他属性来选择它们,例如。 class . class

Try this code: 试试这段代码:

function getAmount() { 
    var total = $('.ItemRate').val() * $('.ItemQty').val();
    $('#ItemAmount').val(total);
}

Html: HTML:

<asp:TextBox runat="server" class="ItemRate" id="ItemRate" />
<asp:TextBox runat="server" class="ItemQty" id="ItemQty" onchange="javascript:getAmount()" />  
<asp:TextBox runat="server" class="ItemAmount" id="ItemAmount" />

Try with parsing value in float like below code. 尝试在float中解析值,如下面的代码。

  parseFloat("10");

Now multiply both value, also check your id get changed or not in browser doing inspect element. 现在将两个值相乘,同时检查你的id是否在浏览器中执行检查元素。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM