2016-09-23 41 views
2

javascript関数を<asp:textbox>から呼び出しようとしています。私のjavascript関数は、2つの<asp:textbox>から値を加算し、加算して別の<asp:textbox>に渡す必要があります。<asp:textbox>からjavascript関数に値を渡す方法

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

を次のように私のjavascript関数である私の<textbox>が実行されている時に

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

を次のように、私のコンソールがNaNとして合計の値を示しています。この問題をどうやって解決するのですか? val()

+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

として返されている 'var total'にありますが、クラスを呼び出すので、あなたの答えで'('ItemRate ') '(''ItemRate') 'に変更しました。それ以外のコードは完璧に動作しました –

+0

私はそれを逃しています... –

+0

'( '#ItemAmount')'のように見えるも、クラスセレクタに変更する必要があります –

2

変更value()

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

実際にはタイプミスでした。問題は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> 
関連する問題