好的,考虑到正则表达式不能正常工作并且没有错误,我将尝试使用金钱掩码。
目标仍然是只允许数字字符和小数。使用 maskMoney,它可以为您工作。
此外,我需要能够成功计算每个单元格。
截至目前,面具工作良好,但我不再能够计算。这就是我困扰的地方。
JQuery 和 JavaScript 代码:
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$('.date').mask("99/99/9999");
$('.account').mask("99-9-999999-9999");
/*calcuating the vertical and horizontal inputs*/
$('.R26').attr("disabled", "disabled");
$('.calc').maskMoney({symbol: ""});
$('.R25').unmaskMoney();
$('.R18').unmaskMoney();
$('input.description').focus(function(){
if($(this).val()=="Enter text here"){
$(this).val(" ");
}
else{
$(this).val($(this).val());
}
});
$('input.description').blur(function(){
if($(this).val()==" "){
$(this).val("Enter text here");
}
});
$('.calc').keyup(function(){
var classArray = $(this).attr('class').split(' ');
//Personal gas expense
$('.gasamount').sum("change", "#totals4");
var num = $(this).attr("id").replace(/[A-Za-z$,-]/g, "");
$('#gasmoney'+num).val(<cfoutput>#mileage#</cfoutput> * $(this).val());
$('.gasmoney').sum("change", "#totals5");
//////////////////////
//Sum of each cell
$.each(classArray, function(){
$('.'+this).sum("change", ".ttl"+this);
});
//Finding the grandtotal
var grandTotal = $('.row26').parent().children('td:last').children('input');
var sum = $('.row25').parent().children('td').children('.calc').sum();
grandTotal.val(Number(sum).toFixed(2));
});
ColdFusion 和 HTML 代码:
#标签[r]#
<cfloop from="1" to="7" index="i">
<td id="Day#i#" class="row#r# col#i#">
<cfif r EQ 1>#Left(DayOfWeekAsString(i),3)#<cfelse><cfif r EQ 2>
<input type="text" class="date-mask" /><cfelse>
<input type="text"
<cfif labels[r] EQ "Personal Car: Mileage ##"> id="gasamount#i#" <cfelseif labels[r] EQ "Personal Car: Mileage $">id="gasmoney#i#" </cfif><cfif labels[r] EQ "Daily Totals">id="dailytotals#i#"</cfif>
class="<cfif labels[r] EQ "Personal Car: Mileage ##">gasamount<cfelse><cfif labels[r] NEQ "Daily Totals">C#i#</cfif></cfif>
<cfif labels[r] EQ "Personal Car: Mileage $">gasmoney<cfelse>calc R#r#</cfif>
<cfif labels[r] EQ "Daily Totals">ttlC#i#</cfif>"
<cfif labels[r] EQ "Daily Totals" OR labels[r] EQ "Personal Car: Mileage $">readonly="readonly"</cfif>
/></cfif>
</cfif>
</td>
</cfloop>
<td class="totals"><cfif r EQ 1>Total<cfelse><input type="text" id="totals" class="ttlR#r#" readonly="readonly" /></cfif></td>
我对同一个应用程序有类似的问题,但这实际上不是重复的(如果你认为它是。)。
'.'+this 是由数组创建的对象。我使用 cfloops 创建了一个大表,并添加了多个类。必须将多个类分解为一个数组,然后才能选择每个类作为自己的类。