Ok, wenn man bedenkt, dass die regulären Ausdrücke nicht richtig funktionieren und es keine Fehler gibt, werde ich versuchen, die Geldmaske zu verwenden.Using maskMoney Eingabe-Plugin - noch etwas Hilfe brauchen
Das Ziel besteht immer noch darin, nur numerische Zeichen und eine Dezimalzahl zuzulassen. Mit maskeMoney erledigt das die Arbeit für Sie.
Auch muss ich in der Lage sein, jede Zelle erfolgreich zu berechnen.
Im Moment funktionieren die Masken gut, aber ich kann nicht mehr rechnen. Dies ist, wo ich beunruhigt bin.
JQuery und JavaScript-Code:
<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 und HTML-Code:
#labels [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>
Ich hatte ähnliche Fragen mit der gleichen Anwendung, aber das ist in der Tat kein Duplikat (falls Sie denken, es ist.).
Das '.' + Dies ist ein Objekt, das vom Array erstellt wurde. Ich habe mit cfloops eine große Tabelle erstellt und mehrere Klassen hinzugefügt. Musste die mehreren Klassen in ein Array aufteilen und konnte dann jede Klasse als ihre eigene auswählen.
Ich habe meine Antwort aktualisiert, um den anderen Fehler zu behandeln, den Sie bei meinem ersten Versuch hatten. HTH, lassen Sie mich einen Kommentar auf die Antwort, wenn es nicht funktioniert/etwas ist nicht klar. – Sean