关于JS计算总金额-求助帖

li2guangwei 2015-03-27 08:13:59
求大神帮忙计算页面TD的总金额,金额不是固定的 而是循环遍历出来的金额,


门诊诊疗人次简写 “jzrc”,请问还需要什么条件才能计算出来这个总计的金额。谢谢大神们的帮助,分数有点少,请笑纳!
...全文
530 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
li2guangwei 2015-03-31
  • 打赏
  • 举报
回复
引用 12 楼 tommercatfly 的回复:
我测试过,的确可以获得累加值,不过,你的html机构我不知道,你需要根据你的具体html机构修改我的代码。。。。直接拿着用肯定不行啊。。。。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>医疗机构完成情况表</title>
<link href="<%=basePath%>${themeUrl}/css/all.css" rel="stylesheet" type="text/css" />
<link href="<%=basePath%>${themeUrl}/css/special.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="web/olap/calendar/skin/WdatePicker.css"/>
<script type="text/javascript" src="web/olap/js/jquery-1.3.2.min.js"></script>
<script language="JavaScript" type="text/javascript" src="web/olap/calendar/WdatePicker.js"></script>
<script type="text/javascript">
	function OnSearch()
	{
		var startDate = document.getElementById("startDate").value;
		var endDate = document.getElementById("endDate").value;
		document.location = "yljgwcqkcAction.action?startDate="+startDate+"&endDate="+endDate;	
	}
	
	//计算总计金额
	 $(document).ready(function(){
		 alert("sum");
		 var sum = 0;
		 #("td").each(function(i){
			 var sum = $(this).text();
			 if(isNaN$(this).text()== false){
				 sum += Number(num);
			 } 
		 });
		 console.log(sum);
		 
	 })
	
</script>
</head>
<body class="bgfff">
	<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="Query_conditions_bar">
<tr>
          <td> <span class="Query_conditions_til" >条件查询</span>
          <%--<img src="web/olap/images/magnifier.gif" width="17" height="19" />
          --%></td>
          <td><label>业务时间 :</label>
            <input type="text" id="startDate" onfocus="WdatePicker({dateFmt:'yyyy-MM'})" value="<s:property value='startDate' />" class="Wdate" style="width:100px"/>
<label>至</label>  
<input type="text" id="endDate" onfocus="WdatePicker({dateFmt:'yyyy-MM'})" value="<s:property value='endDate' />" class="Wdate" style="width:100px"/></td>
          <td><a href="#" onclick="OnSearch();"><img src="<%=basePath%>${themeUrl}/images/bt_seach.gif" width="51" height="20" /></a></td>
  </tr>
</table>

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td width="143" class="maintt2"><span class="tt">医院综合业务统计月报 </span></td>
        <%--
       <td width="200" class="maintt1" align="right"><span ><a  onclick="showWin()" class="ttt" href="#">公式解读</a></span></td>
      --%>
      </tr>
      <tr>
        <td colspan="2" class="ttlinegreen" height="3"></td>
  </tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="jdqk">
  <tr class="ttgreen2">
    <td rowspan="2" nowrap><span title="">区域名称</span></td>
    <td rowspan="2" nowrap><span title="门诊诊疗人次 = 挂号次数">门诊诊疗人次</span></td>
    <td rowspan="2" nowrap><span title="住院人数 = 出院登记次数">住院人数</span></td>
    <td rowspan="2" nowrap><span title="核定床位数 = 医院床位数">核定床位数</span></td><%--
    <td rowspan="2" nowrap><span title="">期末应用床位数</span></td>
    --%>
    <td rowspan="2" nowrap><span title="病床使用率 = 实际占用床位数 / 实际开放床位数">病床使用率</span></td>
    <td rowspan="2" nowrap><span title="病床周转次数 = 出院人数 / (住院总天数/该月天数)">病床周转率</span></td>
    <td rowspan="2" nowrap><span title="出院者平均住院日 = 出院者住院总天数 / 出院病人数">出院者平均住院日</span></td>
    <%--<td rowspan="2" nowrap><span title="手术人次 = 手术记录次数">手术人次</span></td>
    --%><td rowspan="2" nowrap><span title="平均每一病人门急诊费用 = 门诊总费用 / 门诊总人次">平均每一病人门诊费用</span></td>
    <td colspan="2" nowrap><span title="">平均每一病人住院费用</span></td>
  </tr>
  <tr class="ttgreen2">
	<td><span title="平均每一病人住院费用(总费用)= 住院总费用 / 出院总人次">总费用</span></td>
	<td><span title="平均每一病人住院费用(药费)= 住院总药费 / 出院总人次">药费</span></td>
  </tr>
  <s:iterator value="resultlist" status="status">
  	<s:if test="#status.odd==true">
  		<tr class="greenbg">
  			<td nowrap><s:property value="yymc" /></td>
  			<td><s:property value="jzrc" /> </td>
  			<td><s:property value="cyrs" /> </td>
  			<td><s:property value="hdcws" /> </td>
  			<%--<td><s:property value="kfcws" /> </td>
  			--%><td><fmt:formatNumber pattern="0.00"><s:property value="bcsyl" /></fmt:formatNumber> </td>
  			<td><fmt:formatNumber pattern="0.00"><s:property value="bczzl" /></fmt:formatNumber> </td>
  			<td><fmt:formatNumber pattern="0.00"><s:property value="cyzpjzyr" /></fmt:formatNumber> </td>
  			<%--<td><s:property value="ssrc" /> </td>
  			--%><td><fmt:formatNumber pattern="0.00"><s:property value="pjbrmjzfy" /></fmt:formatNumber> </td>
  			<td><fmt:formatNumber pattern="0.00"><s:property value="pjbrcyzfy" /></fmt:formatNumber> </td>
  			<td><fmt:formatNumber pattern="0.00"><s:property value="pjbrcyyf" /></fmt:formatNumber> </td>
  		</tr>
  	</s:if>
  	<s:else>
  		<tr>
  			<td><s:property value="yymc" /></td>
  			<td><s:property value="jzrc" /> </td>
  			<td><s:property value="cyrs" /> </td>
  			<td><s:property value="hdcws" /> </td>
  			<%--<td><s:property value="kfcws" /> </td>
			--%><td><fmt:formatNumber pattern="0.00"><s:property value="bcsyl" /></fmt:formatNumber> </td>
  			<td><fmt:formatNumber pattern="0.00"><s:property value="bczzl" /></fmt:formatNumber> </td>
  			<td><fmt:formatNumber pattern="0.00"><s:property value="cyzpjzyr" /></fmt:formatNumber> </td>
  			<%--<td><s:property value="ssrc" /> </td>
  			--%><td><fmt:formatNumber pattern="0.00"><s:property value="pjbrmjzfy" /></fmt:formatNumber> </td>
  			<td><fmt:formatNumber pattern="0.00"><s:property value="pjbrcyzfy" /></fmt:formatNumber> </td>
  			<td><fmt:formatNumber pattern="0.00"><s:property value="pjbrcyyf" /></fmt:formatNumber> </td>
  		</tr>
  		
  	</s:else>
  </s:iterator>
  	<s:if test="yymc!== null"></s:if>
  	<s:else>
  		<tr>
  			<td align="left" style="color:blue">总计:</td>
  			<td><strong><s:property value="jzrc" /></strong></td>
  			<td><strong><s:property value="cyrs" /></strong></td>
  			<td> </td>
  			<td> </td>
  			<td> </td>
  			<td> </td>
  			<td> </td>
  			<td> </td>
  		</tr>
  	</s:else>
</table>
<div id="win" class="greenbg">
<div id="title" align="right" height="20px"><span id="close" onclick="hide()">关闭</span></div>

<div id="content" >
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="jdqk1">

<tr class="greenbg1" height="22px" >

<td id='th'  align="center" colspan="2">医院综合业务统计月报算法介绍</td>

</tr>
<tr class="greenbg1" height="22px" >

<td id='td'  align="center" >门诊诊疗人次</td>
<td id='td1' align="center">挂号次数</td>
</tr>
<tr class="greenbg1" height="22px" >

<td id='td'  align="center" >出院人次</td>
<td id='td1' align="center">出院登记次数</td>
</tr>
<tr class="greenbg1" height="22px" >

<td id='td'  align="center" >核定床位数</td>
<td id='td1' align="center">医院床位数</td>
</tr>

<tr class="greenbg1" height="22px" >

<td id='td'  align="center" >病床使用率</td>
<td id='td1' align="center">实际占用床位数/实际开放床位数</td>
</tr>
<tr class="greenbg1" height="22px">
<td id='td'  align="center">病床周转次数</td>
<td id='td1' align="center">出院人数/(住院总天数/该月天数)
</td>
</tr>
<tr class="greenbg1" height="22px">
<td id='td'  align="center">出院者平均住院日</td>
<td id='td1' align="center">出院者住院总天数/出院病人数</td>
</tr>
<tr class="greenbg1" height="22px">
<td id='td'  align="center">手术人次</td>
<td id='td1' align="center">手术记录次数</td>
</tr>
<tr class="greenbg1" height="22px">
<td id='td'  align="center">平均每一病人门急诊费用</td>
<td id='td1' align="center">门诊总费用/门诊总人次</td>
</tr>
<tr class="greenbg1" height="22px">
<td id='td'  align="center">平均每一病人住院费用/总费用</td>
<td id='td1' align="center">住院总费用/出院总人次</td>
</tr>
<tr class="greenbg1" height="22px">
<td id='td'  align="center">平均每一病人住院费用/药费</td>
<td id='td1' align="center">住院总药费/出院总人次</td>
</tr>
</table>

</div>
</div>
</body>
</html>

上面是jsp页面代码,我需要获得计算的东西在 <td><s:property value="jzrc" /> </td> <td><s:property value="cyrs" /> </td>
  • 打赏
  • 举报
回复
java嘛???不懂啊,弱弱的问下你那是怎么往table里面插数据的,是js内循环插?还是数据库内读到数据直接就到表格内了?如果是数据库的话直接算不就好了。要是用JS循环往表格里面插入的话那你循环插入表格的时候定义个变量为总数,然后每次循环一条数据就把总数加当前循环的数据的值然后在复制给总数。

    var zong = 0;
for(i=0;i<你的循环次数;i++)
{
  zong=parseInt(zong) +parseInt(你数据的值)
}
$("#jzrc").val(zong);
大概代码是这样的,你可以试试。
jinguifa 2015-03-31
  • 打赏
  • 举报
回复
你好,我觉得你完全没有必要用js去遍历你的td然后再进行统计的,从你的前端页面上看出你应该用的struts框架了,你可以到Action里面把这个值统计好了之后直接传到前端直接展示就行了啊,只需要在Action多定义一个变量就行了啊。
tommercatfly 2015-03-31
  • 打赏
  • 举报
回复
可以的话给我一张有数据的截图,我试试看能不能帮你找到对应的结构,你现在给我的代码里完全没有数据,前端完全没办法计算,另外,如果可能的话,这种计算后端做是最好的,因为前端计算的话是根据页面结构来的,如果是静态没啥问题,如果是从数据库读出来的话,特定情况可以处理,但只要结构出现一点改动就容易出问题,对以后维护非常不方便,个人不建议在前端计算,最好在数据库或者后端处理这些计算
tommercatfly 2015-03-30
  • 打赏
  • 举报
回复
如果方便把你的js贴出来,或者把页面地址发出来看下,这样比较有目的性
li2guangwei 2015-03-30
  • 打赏
  • 举报
回复
引用 4 楼 qwe564217192 的回复:
一个var 值。然后在循环插数据的时候就把金额相加不就好了。最后循环完了直接插入。用那个什么parseInt(num)转换为数字然后直接相加减就好了。
能给个例子吗?谢谢
li2guangwei 2015-03-30
  • 打赏
  • 举报
回复
引用 3 楼 fengyun817 的回复:
有用js框架吗?还是纯js去写?
是用纯JS去写,请问能帮助下吗
tommercatfly 2015-03-30
  • 打赏
  • 举报
回复
我测试过,的确可以获得累加值,不过,你的html机构我不知道,你需要根据你的具体html机构修改我的代码。。。。直接拿着用肯定不行啊。。。。
li2guangwei 2015-03-30
  • 打赏
  • 举报
回复
引用 10 楼 tommercatfly 的回复:
<!DOCTYPE HTML> <html> <head> <title>test Demo</title> <meta charset="UTF-8" /> <script type="text/javascript" src="jquery.min.js"></script> </head> <body> <table> <tr><td>门诊诊疗人次</td></tr> <tr><td>30365</td></tr> <tr><td>88</td></tr> <tr><td>33722</td></tr> <tr><td>3749</td></tr> </table> </body> <script type="text/javascript"> $(document).ready(function() { var sum = 0; $('td').each(function(i) { var num = $(this).text(); if(isNaN($(this).text()) == false){ sum += Number(num); } }); console.log(sum); }); </script> </html> 简单的测试例题,不知道是不是符合你的要求,你可以根据你的需要修改
貌似不好使,。= =
tommercatfly 2015-03-30
  • 打赏
  • 举报
回复
<!DOCTYPE HTML> <html> <head> <title>test Demo</title> <meta charset="UTF-8" /> <script type="text/javascript" src="jquery.min.js"></script> </head> <body> <table> <tr><td>门诊诊疗人次</td></tr> <tr><td>30365</td></tr> <tr><td>88</td></tr> <tr><td>33722</td></tr> <tr><td>3749</td></tr> </table> </body> <script type="text/javascript"> $(document).ready(function() { var sum = 0; $('td').each(function(i) { var num = $(this).text(); if(isNaN($(this).text()) == false){ sum += Number(num); } }); console.log(sum); }); </script> </html> 简单的测试例题,不知道是不是符合你的要求,你可以根据你的需要修改
li2guangwei 2015-03-30
  • 打赏
  • 举报
回复
引用 8 楼 tommercatfly 的回复:
如果方便把你的js贴出来,或者把页面地址发出来看下,这样比较有目的性
我这个网是内网的,你没有办法去访问。
fengyun817 2015-03-28
  • 打赏
  • 举报
回复
有用js框架吗?还是纯js去写?
a756375788 2015-03-28
  • 打赏
  • 举报
回复
给对应的每一个标签加一个class属性 比如: number

var num=0;
$(".number").each(function(){
    var b=Number($(this).text());
    num=num+b;
})
alert(num);
  • 打赏
  • 举报
回复
一个var 值。然后在循环插数据的时候就把金额相加不就好了。最后循环完了直接插入。用那个什么parseInt(num)转换为数字然后直接相加减就好了。
li2guangwei 2015-03-27
  • 打赏
  • 举报
回复
引用 1 楼 zerolone 的回复:
不知道你的金额算法。 如果单单是这些数字相加, 那很简单的。 循环的时候 加起来不就结了?
循环起来不会啊,帮下
Zerolone 2015-03-27
  • 打赏
  • 举报
回复
不知道你的金额算法。 如果单单是这些数字相加, 那很简单的。 循环的时候 加起来不就结了?

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧