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> </td>
</c:if>
<c:if test="${!empty yuliangTable.lntq }">
<td>${yuliangTable.lntq }</td>
</c:if>
<c:if test="${empty yuliangTable.lntq }">
<td> </td>
</c:if>
<c:if test="${!empty yuliangTable.jlntq }">
<td>${yuliangTable.jlntq }</td>
</c:if>
<c:if test="${empty yuliangTable.jlntq }">
<td> </td>
</c:if>
<td>${yuliangTable.qntq }</td>
<td>${yuliangTable.jqntq }</td>
<td> </td>
<td> </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 Masonry插件来实现瀑布流效果,并结合Ajax技术实现动态加载数据,进一步提升用户体验。 jQuery Masonry插件是由David DeSandro开发的一个JavaScript库,它的主要功能是将网页中的元素以...
动画效果是jQuery的另一大亮点,.fadeIn(), .slideUp()等方法让网页动态效果变得简单易行。最后,jQuery的Ajax功能简化了异步数据交互,.ajax()和.get()、.post()方法使得与服务器的数据通信更为便捷。 在...
运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势...
在压缩包中,我们有两个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 ...
嵌入式成品项目——2代身份证识别方案.zip嵌入式成品项目——2代身份证识别方案.zip嵌入式成品项目——2代身份证识别方案.zip嵌入式成品项目——2代身份证识别方案.zip嵌入式成品项目——2代身份证识别方案.zip...
C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip ...
2020.4.11-措施项目——模板工程量计算规则
例如,当需要在网页中动态加载和显示Base64编码的图片时,可以利用jQuery选择和操作DOM元素的能力,结合`jquery.base64.js` 的Base64处理函数,实现无缝集成。同时,由于jQuery对跨浏览器兼容性的良好支持,这些功能...
C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言...
jQuery,作为一款广泛使用的JavaScript库,极大地简化了DOM操作、事件处理、动画制作以及Ajax交互等任务,深受前端开发者的喜爱。在这个主题中,我们将深入探讨jQuery 1.11.3版本的核心特性及其在实际开发中的应用。...
C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统....
jQuery不刷新分页动态数据表格代码.rar jQuery不刷新分页动态数据表格代码.rar jQuery不刷新分页动态数据表格代码.rar jQuery不刷新分页动态数据表格代码.rar jQuery不刷新分页动态数据表格代码.rar jQuery不刷新...
java毕业设计——基于spring boot的音乐播放网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的音乐播放网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的音乐播放网站设计与...
4. **Ajax交互**:jQuery的`.ajax()`方法是进行异步数据交互的标准方式,它可以处理XMLHttpRequest的所有细节,如`$.ajax({url: "data.json", type: "GET", success: function(data) { ... }})`,用于从"data.json...
java毕业设计——商品供应管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——商品供应管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——商品供应管理系统的设计与实现...
jquery datepicker 的中文包 调用方法 <script src="./public/js/jquery-ui-1.10.3.min.js"> <script src="./public/js/jquery.datepicker-zh-CN.js"></script> <link href="./public/css/jqueryui/jquery-ui-...
jquery.min.map is a good