我正致力于计算两个文本框的产品。但是,用户需要在txtTotal显示总值之前按“enter”。请我真的需要帮助。我对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>
答案 0 :(得分:0)
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中有一个新的事件,&#34;输入&#34;,其行为与您似乎认为的完全相同,并且#34;更改&#34;应该表现得很好 - 因为只要按下一个键就可以将信息输入到表格中。旧的浏览器,您可以使用&#34; Keyup&#34;事件
答案 1 :(得分:0)
如果您需要在没有用户按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);