html、jsp页面标签的遍历
应用场景:最近的项目中二级子页面遍历生成、操作表格比较多,记录一下一直用的遍历方法。
一般此类表格都是通过ajax请求数据,然后从callbackFunction中获取数据集合,遍历生成表:
eg:
var postData=new Object();
postData.idString=idString;
$.ajax({
url:'debt/findXXXList.do'+'?t='+Math.random()+'&token='+token,
data:postData,
type:'POST',
dataType:'json',
success:function(data){
//初始化数据
$("#confirmInf").empty();
for(var i=0;i<data.length;i++){
var inf=data[i];
var realname=inf.real_name;
var amount=inf.original_amount_cny;
var debtID=inf.debtID;
var html='<tr><td><a class="name" title='+realname+' style="margin-right:0px;">'+realname+'</a></td>';
var html2='<td class="abstract shuheixian"><input type="text" id="detils" placeholder="摘要内容不超过20个字" debtid='+debtID+' maxlength="20" autofocus></td>';
var html3='<td class="sum">'+amount+'</td><td class="sum"></td>';
var html4='<td class="sum">'+amount+'</td></tr>';
$("#confirmInf").append(html+html2+html3+html4);
}
//弹出窗口
var maskHight=$(document).height();
var maskWidth=$(document).width();
$('<div class="mask"></div>').appendTo($('body'));
$('div.mask').css ({
'opacity':0.5,
'background':'#000',
'position':'absolute',
'left':0,
'top':0,
'width':maskWidth,
'height':maskHight,
'z-index':9999
});
$('.accept_contain').show();
gaoduDIV();//样式
$(".accept_contain input").eq(0).focus();
},
error:function(){
console.log("error初始化数据出错。。。");
//发送请求给发送邮件接口(邮件接口处理掉异常信息),调用给后台提示尽快修复
var pageName="new/receivedClaims";
var type ="findReceivedDebtPageList===初始化弹窗失败===jsp434行";
tips("系统升级中,请稍后进行尝试。",false);
},
});
此时,弹出二级页面,并且循环生成了表格数据。
这时候,需要对表格中的input标签内容进行验证,而常规的通过id获取标签的方式不能准确定位到某条循环生成的数据.
此时分为两种情况:
1、获取某一行中编辑过的多条数据。
这个需要定位到每个标签,并且从标签中获取我们所需要的数据。对应着标签结构慢慢找并不难:
//验证
if(!validate()){
return false;
}
var dataStr="";
var flag=1;
var Obj1=document.getElementsByClassName("dataInfo");//关键!获取所有tr标签,然后根据结构去一层层的找
for (var i=0;i<Obj1.length;i++ ){
var obj=Obj1[i].childNodes;
var type ="claims";
var debtid=obj[0].attributes["debtid"].value;
var debtstatus=obj[0].attributes["debtstatus"].value;
var detils=obj[2].childNodes[0].value;
var amount1=obj[3].childNodes[0].value;
var amount2=obj[4].childNodes[0].value;
//数据合法性调整
if(amount1==""){amount1=0};
if(amount2==""){amount2=0};
//str拼接
if(flag==1){
dataStr+=debtstatus+"&.&"+debtid+"&.&"+detils+"&.&"+amount1+"&.&"+amount2+"&.&";
flag=-1;
}else{
dataStr+="@*@"+debtstatus+"&.&"+debtid+"&.&"+detils+"&.&"+amount1+"&.&"+amount2+"&.&";
}
}
2、对每一行的某一列数据进行验证。
这个用的jquery:
//数据验证
function validate(){
var result =true;
//摘要字段验证
$("#editInf input[id='intro'][type='text']").each(function(){//关键:选择器的使用 id为editInf的标签下所有 id=editInf 类型为text的标签
var value=$(this).val();
if(value==null||value==''||value.length==0){
$(this).val("");
$(this).attr("style","background-color: #FFC1C1");
$(this).attr("placeholder","摘要不能为空");
result = false;
}
});
//金额1验证
$("#editInf input[id='amount1'][type='text']").each(function(){
var value=$(this).val();
if(!/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)){
$(this).val("");
$(this).attr("style","background-color: #FFC1C1");
$(this).attr("placeholder","请填写数字");
result = false;
}
});
//金额2验证
$("#editInf input[id='amount2'][type='text']").each(function(){
var value=$(this).val();
if(!/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)){
$(this).val("");
$(this).attr("style","background-color: #FFC1C1");
$(this).attr("placeholder","请填写数字");
result = false;
}
});
return result;
}
html、jsp页面标签的遍历的更多相关文章
- jsp 页面标签 积累
http://www.cnblogs.com/xiadongqing/p/5232592.html <%@ taglib %>引入标签库 ========================= ...
- jsp页面中同时遍历多个list集合
在Jsp页面中,我们也许有这样的需求:从后端获取到多个List,但又想将这些List的值同时打印出来 比如, 有用户列表userList,user类有用户ID.用户名.用户性别等基本信息 有用户关系列 ...
- JSP页面标签
1.EL表达式中empty的用法 EL表达式中empty的用法 <c:if test="${! empty key}">${key}</c:if> < ...
- jsp c标签不遍历的方法
生产中遇到过不需要遍历的事情. 一般遍历必须要 <c:forEach items="${resultObj.xxx}" var="data" varSta ...
- jsp页面中jstl标签详解
JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...
- 【转】jsp页面中jstl标签详解
原文地址: JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实 ...
- 关于jsp中jstl-core标签循环遍历的使用
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- jsp页面中jstl标签详解[转]
JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...
- jsp页面file标签上传图片以及blob类型数据库存取。
我的jsp页面表单如下: <form name="form1" action="/YiQu/AddUserServlet?jurisdiction=1" ...
随机推荐
- 安德鲁斯Launcher得到的装在手机的应用程序列表
Launcher最基本的是让所有的应用程序和入口图标的列表.有两种方法来获得,一般: PackageInfo ResolveInfo 执行获取全部APP的Launcher而且同意进行点击事件,进入到应 ...
- Robot Framework安装指南
安装软件下载列表: 2012年5月15日更新 1.python 2.7http://www.python.org/download/http://www.python.org/ftp/python/2 ...
- 写在程序猿的困惑(特别Java程序猿)入行一年,感觉我不知道接下来该怎么办才能不断进步的,寻求翼
入行了一年.感觉不知道接下来该怎么做才干继续进步了,求不吝赐教(V2EX) @kafka0102 :做技术能够学的东西太多了.仅仅是在不同的阶段做好不同的规划.要结合当前所做的事情去做更深入或广度的学 ...
- 关于 Facebook 的 React 专利许可证
本文转载自:酷 壳 – CoolShell 作者:陈皓 随着 Apache.百度.Wordpress 都在和 Facebook 的 React.js 以及其专利许可证划清界限,似乎大家又在讨论 Fac ...
- Plugin execution not covered by lifecycle configuration
Eclipse 环境 在工作空间 \.metadata\.plugins\org.eclipse.m2e.core\ 目录下 增加 lifecycle-mapping-metadata.xml 文件 ...
- WPF图片放大后模糊的解决方法
原文:WPF图片放大后模糊的解决方法 WPF中显示图片的方式很多,可以用Image控件来显示图像,或者直接设置一个控件的Background.图片的放大也很简单,直接设置显示图片的控件的Width和H ...
- 阿里将成为下一个谷歌?是谁Google真正的挑战者
非常多观点觉得阿里下一步即将成为google的挑战者,但不管从技术储备还是产业布局来看,阿里都难当此任.在产业模式上.电商挑战搜索尚有诸多短板,在解决这些根本问题前,空泛谈论这些是没有意义的. < ...
- VMware Workstation克隆linux虚拟机操作
1.删除MAC地址,修改IP [root@xuegod63 network-scripts]# vim ifcfg-eth0 [root@xuegod63 network-scripts]# cat ...
- 用MVVM模式开发中遇到的零散问题总结(5)——将动态加载的可视元素保存为图片的控件,Binding刷新的时机
原文:用MVVM模式开发中遇到的零散问题总结(5)--将动态加载的可视元素保存为图片的控件,Binding刷新的时机 在项目开发中经常会遇到这样一种情况,就是需要将用户填写的信息排版到一张表单中,供打 ...
- GDI+ Bitmap与WPF BitmapImage的相互转换
原文:GDI+ Bitmap与WPF BitmapImage的相互转换 using System.Windows.Interop; //... // Convert BitmapImage to Bi ...