js综合应用简单的表格统计
在做调查问卷的过程中,遇到一个表格的统计问题,算是需要些js方面的综合知识,所以记录下来。
基本需求如下:

核心的htm如下:
function GetOneColumnAllChild(totalId,index){ var idList = []; var trList=$("#"+totalId).parent('td').parent('tr').parent().children("tr");////取统计文本框的父节点td的父节点tr的父节点table,然后再取table的子节点,得到所有tr $.each(trList, function(i, n){//遍历所有的tr var tdList=$(n).children("td")// if(tdList.length>0) { var inputindex=0; $.each(tdList, function(j, item){ //遍历所有的td // if(j==index)// 由于<td class="tdright width20" rowspan="4">直接支出</td>,导致如果这样取数据会出错,因为第一行多了一个td,其他含都比第一行少了一个td// { var inputList=$(item).children("input[type='text']"); if(inputList.length>0) { $.each(inputList, function(k, iteminput){//遍历所有的文本框 var item=$(iteminput); if(item.hasClass("digital")){ inputindex++; if(inputindex==index){//支取指定列的文本框 idList.push(item.attr("id")); }} });//end inputList }//end if(inputList.length>0) });// end tdList } // if(tdList.length>0) });//end trList BindBlur(idList,totalId); //var NameList = idList.join(","); //alert(NameList);}总结:初次遇见此类问题,真的没有什么比较好的思路。这样虽然初步算是解决了,但灵活性很小,例如每一个单元格只能有一个需要统计的文本框,多个就会出错。不过根据现在最简单如果进行扩展,就会适应更复杂的情况。