欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

遍历报表每一行中input的值

更新时间: 2014-01-05 01:52:03 责任编辑: Author_N1

 

遍历表格每一行中input的值
	  		<table style="width:783px;" id="mainTable">
   <tr class="table_header_bg" height="30px;" align="center" style="text-align:center;">
   <th class="table_header_bg">手动排序</th>
   <th class="table_header_bg">测试名称</th>
   </tr>
   <c:forEach items="${testList}" var="test">
   <tr class="context" align="center" onmouseover="$(this).addClass('highlight');" onmouseout="$(this).removeClass('highlight');">
<td>
<input type="hidden" value="${test.testId }" />
<input type="text" 
numberbox="true"
data-options="required:true,validType:'length[1,6]'"/></td>
   <td>${test.testName }</td>
   </tr>
   </c:forEach>
   </table>


	function saveTestSort(){
var dataJson="[";
var testId = "";
var testSort = "";
$("tr").each(function (index, domEle){
if(index != 0){
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+"\"},";
}
});
alert(dataJson);
};


我的是不是JQ遍历的时候弄错了,为什么会有很多空值,后台传到前台的数据只有23条应该,
这么多空值我不知道是哪来的,以前写过一个和这差不多的方法都没错。纠结了,在线等,求来大神。现在还在苦逼的加班。
--参考方法--
 $("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,对你的拼接字符串有什么影响呢?
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:52:03
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2252/
本文WWW.DOC100.NET DOC100.NET版权所有。