2009-07-31 5 views
0

Maintenant, la table est remplie avec 2 boucles et un tableau. Je dois tout contrôler à travers les cours que j'ai mis sur l'entrée. Je travaillais là-dessus depuis un moment, un aperçu serait utile.Calcul de Javascript compliqué horizontal et vertical et Coldfusion

Voici la boucle et les entrées:

  <cfloop from="1" to="#ArrayLen(labels)#" index="r"> 
     <tr> 
      <td class="labels"><cfif ArrayIsDefined(labels,r) AND labels[r] NEQ "Open">#labels[r]#</cfif></td> 
      <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" class="R#r# C#i#" onkeypress="return HorizVertiCalc(#r#, #i#)" /></cfif><cfif r EQ 25><input type="text" class="dailyTot#r#" onkeypress="return VertiCalc(#i#)" /></cfif></cfif></td> 
      </cfloop> 
      <td class="totals"><cfif r EQ 1>Total<cfelse><input type="text" class="ttl#r# vttl#i#" readonly="readonly" /></cfif></td> 
     </tr> 
     </cfloop> 

Et voici le Javascript que j'ai au moment:

  HorizVertiCalc = function(h, v){ 
      $('.R'+h).sum("keyup", ".ttl"+h); 
      $('.C'+v).sum("kepup", ".dailyTot"+h); 

      if($('.R'+h) == $('.R4')){ 
       Number($(this).val()) * <cfoutput>#mileage#</cfoutput>; 
       $(this).sum("keypup", ".R5"); 
       } 
      } 

     VertiCalc = function(v){ 

      alert($('.C'+v)); 
     } 

Je dois être en mesure d'obtenir les totaux quotidiens et le total général et les totaux de chaque catégorie (que je suis capable de faire maintenant). Aussi, je dois être capable de multiplier le milage # par le nombre spécifique avec la variable # kilométrage # et avoir le total pour cette cellule directement en dessous.

Bien. C'est beaucoup et si quelqu'un peut donner de l'aide, ce serait grandement apprécié!

+0

qui est beaucoup, peut-être si vous faites bouillir tout cela à une question plus simple que vous pourriez obtenir plus piqûres :) Je frappé le site et les choses semblent comme rien est cassé. –

+0

N'est-ce pas un doublon de http://stackoverflow.com/questions/1208968/complicated-javascript-calculation? – ale

+0

Je suis d'accord, c'est un doublon. Marqué. –

Répondre

0

Sans savoir exactement comment votre code fonctionne, voici quelques suggestions/observations:

Je remarque que vous avez "keyup", "kepup" et "keypup". Sont-ils tous destinés à être différents?

Vous ne savez pas exactement ce que Number() fait, mais vous pourriez utiliser un parseFloat() éventuellement associé à une vérification isNaN() avant d'effectuer le calcul.

Je suppose que votre code Javascript est jQuery? Vous faites une comparaison jQuery: if ($ ('.R' + h) == $ ('. R4')) J'ai un soupçon que cela pourrait toujours retourner false (comme suggéré par cette page :) http://groups.google.com/group/jquery-en/browse_thread/thread/002d7543186ddaa6

James