遍历报表每一行中input的值
遍历表格每一行中input的值这么多空值我不知道是哪来的,以前写过一个和这差不多的方法都没错。纠结了,在线
遍历表格每一行中input的值
这么多空值我不知道是哪来的,以前写过一个和这差不多的方法都没错。纠结了,在线等,求来大神。现在还在苦逼的加班。
[解决办法] $("tr").each(function (index, domEle){
你是不是又其他的tr?
这个地方,你可以写的再具体一点啊,比如改成这样:
$("#mainTable tr").each(function (index, domEle){
还有就是:
dataJson += "{"+""testId":""+testId+"","+""testSort":""+testSort+""},";
这个地方,你没有进行判断就添加了。
可以加个判断语句:
if(testId != ""){
dataJson += "{"+""testId":""+testId+"","+""testSort":""+testSort+""},";
}
dataJson += "]";
结尾没有加中括号的结束符。。试试可以不
[解决办法]那你直接在浏览器调试器里面,查看一下有多少个tr标签,不是更明白?
而且,你把值进行了初始化了
testId = "";
testSort = "";//你在这里初始化了,
$(domEle).find("input").each(function(index,data){
if(index == 0){
testId = $(data).val();
}else{
if($(data).val() != "" && $(data).val() != null){
testSort = $(data).val();
}else{
testSort = '0';
}
}
});
dataJson += "{"+""testId":""+testId+"","+""testSort":""+testSort+""},";
//这里的拼接字符串,你也没有加载上面的if语句里面执行,所以不管是不是找到了input,对你的拼接字符串有什么影响呢?
//你这逻辑不就是再说,只要查找一个tr,就在字符串里面,拼接一条的。所以你页面上肯定还有其他的tr存在,而且是在这个table之前,和table之后,都会有。
//要么你就直接把拼接字符串的代码,放到你查找input的那个逻辑之内去处理,要么就直接判断是不是为空了,不为空的时候,拼接。
还有,$(tr),你这样写,会查找整个页面的tr的