如何将<asp:textbox>中的值传递给javascript函数

时间:2016-09-23 10:31:31

标签: javascript jquery asp.net

我正在尝试从javascript调用<asp:textbox>函数。我的javascript函数需要从两个<asp:textbox>添加值,添加它们,然后将值传递给另一个<asp:textbox>。我的javascript功能如下

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

我的<textbox>如下

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

运行时,我的控制台会将总值显示为NaN。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

这是完整的代码

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>

答案 1 :(得分:2)

value()更改为val()

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

答案 2 :(得分:2)

通常,ASP会更改具有ID属性的每个元素的runat="server"属性。

所以你需要其他属性来选择它们,例如。 class

试试这段代码:

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

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" />

答案 3 :(得分:1)

尝试在float中解析值,如下面的代码。

  parseFloat("10");

现在将两个值相乘,同时检查你的id是否在浏览器中执行检查元素。