我需要计算发票总额。此发票是使用表单,金额,数量和税收字段创建的,字段的总和是使用cfinput中的绑定进行的。 我不能把所有行的总和,总数。 我尝试了一些操作,但没有达到解决方案
这是一个示例代码:
<cfform action="" method="post">
<cfloop from="1" to="3" index="i">
Q.ta <cfinput type="text" name="quantita#i#" value="0">
+
Importo <cfinput type="text" name="importo#i#" value="0">
+
Tax <cfinput type="text" name="iva#i#" value="0">
=
Totale <cfinput type="text" name="totale#i#" value="0" bind="cfc:somma.getSomma({quantita#i#},{importo#i#},{iva#i#})">
<br /><br />
</cfloop>
CFC:
<cfcomponent>
<cffunction name="getSomma" access="remote" returntype="string">
<cfargument name="quantita" default="0">
<cfargument name="importo" default="0">
<cfargument name="iva" default="0">
<cfset totaleSomma=#evaluate((importo*quantita)*(1+iva))#>
<cfreturn totaleSomma>
</cffunction>
</cfcomponent>
答案 0 :(得分:1)
我认为你需要创建一个Javascript函数,如果你想循环遍历所有这些形式的游戏并得到一个&#34;总计&#34;。我的建议是放弃cfform并使用jQuery创建一个可编辑的网格。
答案 1 :(得分:0)
好的,我找到了解决方案,我使用cfdiv作为总计:
<cfparam name="var_tot" default="0">
<cfloop from="1" to="3" index="i">
<cfparam name="totale#i#" default="0">
<cfset var_tot = listappend(var_tot, "{totale"&#i#&"}")>
</cfloop>
<cfform action="" method="post">
<table>
<cfloop from="1" to="3" index="i">
<tr>
<td>Q.ta</td><td><cfinput type="text" name="quantita#i#" value="0"></td>
<td>Importo</td><td><cfinput type="text" name="importo#i#" value="0"> </td>
<td>Tax</td><td><cfinput type="text" name="iva#i#" value="0"> </td>
<td>Totale</td><td class="price"><cfinput type="text" name="totale#i#" value="0" bind="cfc:somma.getSomma({quantita#i#},{importo#i#},{iva#i#})" ></td>
</tr>
</cfloop>
</table>
</cfform>
<cfdiv bind="url:divtot.cfm?InputText=#var_tot#" id="checktot">
divtot.cfm
<cfparam name="tot" default="0">
<cfset listval=url.InputText>
<cfloop index="i" list="#listval#" delimiters=",">
<cfset tot=tot+i>
</cfloop>
TOTALE: <cfoutput>#tot#</cfoutput>
谢谢大家