[英]how to trigger enter event in text box without pressing enter in javascript
我正在计算两个文本框的乘积。 但是,用户需要在txtTotal显示总价值之前按“输入”。 请我真的需要帮助。 我不太了解jquery,并且仍在学习jscript。 非常感谢 !
这是我更新的代码:
<html>
<head>
<script src="jquery-1.11.2.min.js"></script>
<script>
$('#txtQuantity').bind('input',function(){
var quantity = parseFloat($(this).val()) || 0;
var amount = parseFloat($('#txtAmount').val());
var evt = (amount * quantity);
$('#txttotal').val(evt);
});
</script>
</head>
<body>
<input type="text" class="quan1" name="txtQuantity" id="txtQuantity"/>
<input type="text" id="txtAmount" class="quan1" name="txtAmount" value="4" disabled="" />
<input type="text" class="quan1" id="txttotal" name="txttotal" disabled="" /> <br>
</body>
</html>
var e = $.Event( "keypress", { which: 13 } );
$('#yourInput').trigger(e);
希望这可以帮助
如果您使用的是jquery,可以这样做。
解决方案1
$('#txtQuantity').on('keypress', function (event) {
if(event.which === 13){
var quantity = parseFloat($(this).val()) || 0;
var amount = parseFloat($('#txtAmount').val());
var evt = (amount * quantity);
$('#txttotal').val(evt);
}
});
解决方案2
$('#txtQuantity').bind('input',function(){
var quantity = parseFloat($(this).val()) || 0;
var amount = parseFloat($('#txtAmount').val());
var evt = (amount * quantity);
$('#txttotal').val(evt);
});
注意:在HTML5中,有一个新事件“输入”,其行为与您似乎认为“更改”应具有的行为完全相同-因为一旦按下键以将信息输入表单,该事件就会触发。 较旧的浏览器,您可以使用“ Keyup”事件。
如果您需要在用户不按Enter的情况下立即计算值,则将keyup事件绑定到文本框
var compute = function(){
var quantity = parseFloat($("#txtQuantity" ).val()) || 0;
var amount = parseFloat($('#txtAmount').val());
var total = (amount * quantity);
$('#txttotal').val(total);
}
$( "#txtQuantity" ).keyup(compute);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.