我有两个文本框和一个隐藏的标签 通常我用asp.net做这个:
用户在第一个textboxt1
中输入数字后,单击按钮getprice
后,系统会将textbox1
值乘以隐藏的标签编号,并在textbox2
中显示结果{1}},反之亦然。
但我想通过使用jquery或angularjs来实现同样的事情而不使用按钮回发
当用户在textbox1
上键入数字时,系统应该在运行时将该值乘以并在按键上的textbox2
中显示该值。
我需要一个功能。
我尝试过使用这个jQuery ......它无法正常工作
我希望函数有一个名字,所以我可以在textbox1
上加上按键。
<script type="text/javascript">
$(function () {
$("#<%=Textbox.ClientID%>").bind("input", function() {
var value1 = $("#<%=Textbox.ClientID%>").val()
var value2 = $("#<%=HiddenTextbox2.ClientID%>").val();
$("#<%=Textbox3.ClientID%>").val(value1 * value2);
});
});
</script>
答案 0 :(得分:1)
我想用JavaScript回答会更容易。这是一个可行的功能:
<script type="text/javascript">
function MultiplyByHidden() {
var value1 = parseFloat(document.getElementById("<%=Textbox.ClientId%>").value)
var value2 = parseFloat(document.getElementById("<%=HiddenTextbox2.ClientId%>").value)
var total = value1 * value2
document.getElementById("<%=Textbox3.ClientId%>").value = total
}
</script>
此功能可以处理您正在寻找的所有内容,并且不需要导入额外的库(如JQuery)来处理这些简单的功能。
编辑我忘了它也会增加字符串。
答案 1 :(得分:0)
我认为你试图将字符串相乘......
对于文字输入中的数字,建议使用parseInt()
或parseFloat()
;)
<script type="text/javascript">
$(function () {
$("#<%=Textbox.ClientID%>").on("input", function() {
var value1 = parseFloat( $("#<%=Textbox.ClientID%>").val() );
var value2 = parseFloat( $("#<%=HiddenTextbox2.ClientID%>").val() );
$("#<%=Textbox3.ClientID%>").val(value1 * value2);
});
});
</script>
答案 2 :(得分:0)
$(“#pay,#pre”)。keyup(function(){
$('#pay').val($('#pay').val() * $('#pre').val());
});
Blockquote