我试图从两个文本框中获取值,减去这些值,然后在输入值时返回标签中的差值。我已经尝试了下面的代码,但没有运气。做这个的最好方式是什么?这是在带有母版页的 asp.net 页面上运行的。
.ASPX
<asp:TextBox ID="txtWeek1FridayAM_IN" runat="server" class="numeric" Width="40px" >0.00</asp:TextBox>
<asp:Label ID="lblWeek1FridayTotalHrs" runat="server" class="numeric" Text="0"></asp:Label>
<asp:TextBox runat="server" ID="txtWeek1FridayAM_OUT" class="numeric" width="40px" OnTextChanged="OUTvalidation" >0.00</asp:TextBox>
aspx.cs
$(document).ready(function () {
sum();
$("#txtWeek1FridayAM_IN, #txtWeek1FridayAM_OUT").on("keydown keyup", function () {
sum();
});
});
function sum() {
var num1 = document.getElementById('#txtWeek1FridayAM_IN').value;
var num2 = document.getElementById('#txtWeek1FridayAM_OUT').value;
var result = parseFloat(num2) - parseFloat(num1);
if (!isNaN(result)) {
document.getElementById('#lblWeek1FridayTotalHrs').value = result;
}
}
最佳答案
几点:
如果需要在客户端脚本中引用控件ID,可以使用
<%= control_id.ClientID %>
。label
或span
元素没有value
属性(property)、使用textContent
相反。我更喜欢
input
而不是keyup
和keydown
.我在
OnTextChanged="OUTvalidation"
方面遇到一些问题运行代码时。但能够通过将其从控件中删除来成功执行。
将代码更改为以下内容:
$(document).ready(function () {
sum();
$("body").on("input", "#<%=txtWeek1FridayAM_IN.ClientID%>, #<%=txtWeek1FridayAM_OUT.ClientID%>", function () {
sum();
});
});
function sum() {
var num1 = document.getElementById('<%=txtWeek1FridayAM_IN.ClientID%>').value;
var num2 = document.getElementById('<%=txtWeek1FridayAM_OUT.ClientID%>').value;
var result = parseFloat(num2) - parseFloat(num1);
if (!isNaN(result)) {
document.getElementById('<%=lblWeek1FridayTotalHrs.ClientID%>').textContent = result;
}
}
关于javascript - 如何减去asp文本框值并将结果放入asp标签中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51074763/