2016-09-23 69 views
2

我想從<asp:textbox>調用javascript函數。我的javascript函數需要從兩個<asp:textbox>中增加值,將它們相加,然後將值傳遞給另一個<asp:textbox>。我javascript功能如下如何將值從<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的總價值。我該如何解決這個問題?

+0

你使用jquery?那麼爲什麼沒有jQuery的標籤呢? –

+1

我添加了jquery標籤:) –

回答

2

一般ASP改變對於具有runat="server"屬性的每個元素的屬性ID

所以你需要其他屬性來選擇它們,例如。 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" /> 
+0

抱歉,由於我們正在調用類,因此我在您的答案中將'('#ItemRate')'更改爲'('.ItemRate')''。除此之外,你的代碼工作完美 –

+0

Ooops耶,我想念它...... –

+0

看起來像'('#ItemAmount')'也需要改變類選擇器 –

2

變化value()val()

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

實際上這是一個錯字。問題在於'var total',它被返回爲NaN –

1

嘗試用如下面的代碼在浮動解析值。

parseFloat("10"); 

現在乘以這兩個值,也檢查你的id得到改變或不在瀏覽器中做檢查元素。

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> 
相關問題