`

2010.02.03——Jquery ajax 动态更新 局部刷新

阅读更多
2010.02.03——Jquery ajax 动态更新 局部刷新
最后的效果如图所示 ,说要达到的目标就是:
当我选着不同的时间,最后一列的时间也跟着变,并且将一系列的参数传到后台,计算出结果,并填充到下面的td中去

后台:

public ModelAndView dataByYear(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		
		String name = MethodUtil.param(request, "name");
		String st = MethodUtil.param(request, "startTime");
		String et = MethodUtil.param(request,"endTime");
		String nt = MethodUtil.param(request, "newTime");
		.....
		.....
		List<Double> list = fn(request,K_RGNCD,stsb.toString(),etsb.toString(),sign,sxun,exun);
		PrintWriter out = response.getWriter();
		StringBuffer sb = new StringBuffer();
		for(Double d: list){
			sb.append(d);
			sb.append("-");
		}
		out.print(sb.toString());
		return null;
		
	}


后台就是经过一系列的操作,得到一组类似1.2-2.3-25.1-0.5- 的数据

js:

<head>
<script type="text/javascript">

//用于生成那个下拉框内的时间
function fn3($year1){
	var str1 = "";
	var str2 = "";
	//if(checkBrowser()){
	//	var date = new Date().getYear();
	//}else{
	//	var date = new Date().getYear()+1900;
	//}
	var date = $('#endTime').attr('value');
	for(var i = parseInt(date)-1;i>=1949;i--){
		str1 += "<option value="+i+">"+i+"</option>";
	}
	$year1.empty();
	$year1.append(str1);
}

//用于生成table的最后一列
function fn4(){
	var $text = $('#year option:selected').text();
	var text = "较"+$text+"年";
	$('#year2').text(text);
	//生成完 就调用ajax
	fn5();
}

//解决浮点数的问题
function roundFloat(number,digits){  
    with(Math){  
        return round(number*pow(10, digits))/pow(10, digits);  
    }  
} 

//用于和后台的ajax请求
function fn5(){
	$.ajax({
		type: "POST",
		url: "yuliang_dataByYear.do",
		data: {name:$('#name').attr("value"),startTime:$('#startTime').attr('value'),endTime:$('#endTime').attr

('value'),newTime:$('#year option:selected').text()},
		dataType: "html",
		success: function(data){
					var str = data;
					var strs = str.split("-");//拆分后台传过来的数据,装到数组里面
					//alert(strs);
					var trNumber = $('tr').size();//得到table中一共有几行
					var tdNumber = $('tr:first td').size();//得到一行中一共有几列
					//alert(trNumber);
					//alert(tdNumber);
					//alert($('tr:eq(2) td:eq(8)').size())
					for(var i=1;i<trNumber;i++){//i=1,不从0开始排除第一行表头
						var text = 0;
						text = $('tr:eq('+i+') td:eq(1)').text();//得到第二列的数据
						//alert(text);
						//tdNumber-2,因为列也是从0开始的,所以要减2,这个是给倒数第二列赋值
						$('tr:eq('+i+') td:eq('+(tdNumber-2)+')').text(roundFloat(strs[i-1],2));
						var number = roundFloat((text-strs[i-1]),2);
						//if(number==0) {
						//	number = number+".0";
							//alert(number);
						//}
						//给最后一列赋值
						$('tr:eq('+i+') td:eq('+(tdNumber-1)+')').text(number);
					}
				}
	});
}

$(function(){
	fn3($('#year'));
	fn4();
	//fn5();
	//alert();
	$('#year').change(fn4);
	
});
</script>
</head>


设计思路 就是找到需要填充的列,挨个赋值

html

<hr>
<input id="name" type="hidden" value="${name }"/> //隐藏文本域,用于上面传参数
<input id="startTime" type="hidden" value="${start }"/>
<input id="endTime" type="hidden" value="${end }"/>
<center><font color="#005ECE" size="5">${name }统计表 <br />${start }至${end }</font>
<h5 align="right">收入单位:¥</h5>
<table cellspacing="0" align="center" bgcolor="#EFF6FE">
	<tbody>
		<tr>
			<td>地区</td>
			<td>收入</td>
			<td>收入率</td>
			<td>历年同期</td>
			<td>较历年同期</td>
			<td>去年同期</td>
			<td>较去年同期</td>
			<td><select id="year"><option value="2008">2008</option></select></td>
			<td><div id="year2"></div></td>
		</tr>
		<c:forEach var="yuliangTable" items="${yuliangTableList}">
		<tr>
			<td>${yuliangTable.dq }</td>
			<td>${yuliangTable.mpjyl }</td>
			<c:if test="${!empty yuliangTable.yljpl }">
				<td>${yuliangTable.yljpl }</td>
			</c:if>
			<c:if test="${empty yuliangTable.yljpl }">
				<td>&nbsp;</td>
			</c:if>
			<c:if test="${!empty yuliangTable.lntq }">
				<td>${yuliangTable.lntq }</td>
			</c:if>
			<c:if test="${empty yuliangTable.lntq }">
				<td>&nbsp;</td>
			</c:if>
			<c:if test="${!empty yuliangTable.jlntq }">
				<td>${yuliangTable.jlntq }</td>
			</c:if>
			<c:if test="${empty yuliangTable.jlntq }">
				<td>&nbsp;</td>
			</c:if>
			<td>${yuliangTable.qntq }</td>
			<td>${yuliangTable.jqntq }</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>	
		</c:forEach>
	</tbody>
</table>
</center>
  • 大小: 4.1 KB
分享到:
评论

相关推荐

    jquery-3.7.0.min.js(jQuery下载)

    jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)...

    基于jquery.masonry插件开发的瀑布流ajax动态加载数据功能

    在本项目中,我们利用jQuery Masonry插件来实现瀑布流效果,并结合Ajax技术实现动态加载数据,进一步提升用户体验。 jQuery Masonry插件是由David DeSandro开发的一个JavaScript库,它的主要功能是将网页中的元素以...

    jquery-3.5.1.min.js_jquery-3.5.1.min.js_jquery_

    动画效果是jQuery的另一大亮点,.fadeIn(), .slideUp()等方法让网页动态效果变得简单易行。最后,jQuery的Ajax功能简化了异步数据交互,.ajax()和.get()、.post()方法使得与服务器的数据通信更为便捷。 在...

    运动休闲娱乐——运势测算行业SOP.pdf

    运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势...

    jquery.cookie.js,jquery.min.js

    在压缩包中,我们有两个jQuery相关的文件——`jquery.min.js`和`jquery-1.11.0.min.js`。`jquery.min.js`可能是指较新的版本,而`jquery-1.11.0.min.js`是jQuery 1.11.0的压缩版本,它提供了基本的DOM操作和功能,如...

    嵌入式成品项目-无线接收时钟.zip

    嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟...

    微信小程序——新浪读书(截图+源码).zip

    微信小程序——新浪读书(截图+源码).zip 微信小程序——新浪读书(截图+源码).zip 微信小程序——新浪读书(截图+源码).zip 微信小程序——新浪读书(截图+源码).zip 微信小程序——新浪读书(截图+源码).zip ...

    嵌入式成品项目-2代身份证识别方案.zip

    嵌入式成品项目——2代身份证识别方案.zip嵌入式成品项目——2代身份证识别方案.zip嵌入式成品项目——2代身份证识别方案.zip嵌入式成品项目——2代身份证识别方案.zip嵌入式成品项目——2代身份证识别方案.zip...

    C语言项目——超级万年历.zip

    C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip ...

    2020.4.11-措施项目——模板工程量计算规则.ppt

    2020.4.11-措施项目——模板工程量计算规则

    jquery.base64.js jquery-1.12.4.min.js

    例如,当需要在网页中动态加载和显示Base64编码的图片时,可以利用jQuery选择和操作DOM元素的能力,结合`jquery.base64.js` 的Base64处理函数,实现无缝集成。同时,由于jQuery对跨浏览器兼容性的良好支持,这些功能...

    C语言项目——通讯录管理系统.zip

    C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言...

    jquery-1.11.3.js 、jquery-1.11.3.min.js 【官方jquery包 js】

    jQuery,作为一款广泛使用的JavaScript库,极大地简化了DOM操作、事件处理、动画制作以及Ajax交互等任务,深受前端开发者的喜爱。在这个主题中,我们将深入探讨jQuery 1.11.3版本的核心特性及其在实际开发中的应用。...

    C语言项目——企业员工管理系统.zip

    C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统....

    jQuery不刷新分页动态数据表格代码.rar

    jQuery不刷新分页动态数据表格代码.rar jQuery不刷新分页动态数据表格代码.rar jQuery不刷新分页动态数据表格代码.rar jQuery不刷新分页动态数据表格代码.rar jQuery不刷新分页动态数据表格代码.rar jQuery不刷新...

    java毕业设计——基于spring boot的音乐播放网站设计与实现(源码+数据库).zip

    java毕业设计——基于spring boot的音乐播放网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的音乐播放网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的音乐播放网站设计与...

    jquery-1.12.4-jquery.min.js.zip

    4. **Ajax交互**:jQuery的`.ajax()`方法是进行异步数据交互的标准方式,它可以处理XMLHttpRequest的所有细节,如`$.ajax({url: "data.json", type: "GET", success: function(data) { ... }})`,用于从"data.json...

    java毕业设计——商品供应管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip

    java毕业设计——商品供应管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——商品供应管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——商品供应管理系统的设计与实现...

    jquery.datepicker-zh-CN.js

    jquery datepicker 的中文包 调用方法 &lt;script src="./public/js/jquery-ui-1.10.3.min.js"&gt; &lt;script src="./public/js/jquery.datepicker-zh-CN.js"&gt;&lt;/script&gt; &lt;link href="./public/css/jqueryui/jquery-ui-...

    jquery.min.map

    jquery.min.map is a good

Global site tag (gtag.js) - Google Analytics