我正在尝试从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。我该如何解决这个问题?
答案 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是否在浏览器中执行检查元素。