我正在设立一个捐款页面供人们向非营利组织捐款,并允许他们指定货币的用途。我设置它总计了当输入金额时给予者在每个字段中的金额。我试图在每个字段中添加一个输入掩码,但它只是让我的JavaScript崩溃而不做任何事情。这是我目前拥有的代码,它可以在任何掩码之前完美运行:
<script src="/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready( function() {
var calcTot = function() {
var sum = 0;
$('.toTotal').each( function(){
sum += Number( $(this).val() );
});
$('#giveTotal').val( '$' + sum.toFixed(2) );
}
calcTot();
$('.toTotal').change( function(){
calcTot();
});
});
</script>
'toTotal'是给予所有需要加起来的输入框的类名;这也是需要面具的类。 'giveTotal'是总字段的id。
我尝试过在StackOverflow和其他网站上找到的几种变体。
完整代码:
<html>
<head>
<script src="/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready( function() {
//This is one of the masking codes I attempted.
$('.toTotal').mask('9.99', {reverse: true});
//other options I have tried:
//$('.toTotal').mask('9.99');
//$('.toTotal').mask('0.00');
//$('.toTotal').inputmask('9.99');
//$('.toTotal').inputmask('mask', {'mask': '9.99'});
var calcTot = function() {
var sum = 0;
$('.toTotal').each( function(){
sum += Number( $(this).val() );
});
$('#giveTotal').val( '$' + sum.toFixed(2) );
}
calcTot();
$('.toTotal').change( function(){
calcTot();
});
//I have tried putting it here, too
});
</script>
<title>Addition</title>
</head>
<body>
<input type="text" class="toTotal"><br />
<input type="text" class="toTotal"><br />
<input type="text" class="toTotal"><br />
<input type="text" id="giveTotal">
</body>
</html>
答案 0 :(得分:7)
示例代码中没有引用屏蔽库脚本。您需要下载Digital Bush Masked Input Plugin Script并将其复制到您的JS文件夹中。
然后在'jquery.js'行后添加以下脚本引用:
<script src="/js/jquery.maskedinput.min.js"></script>