问题描述:
如果是动态增加的行信息,输入文本框的name相同,那用data.field获取的数据始终是1行的内容。如下图

解决方案:
先轮询data.field,在页面查找控件名数量大于1的,然后移除data.field.属性名,再循环控件数量取值,重新给data.field.属性名赋值,代码如下
//检查重复字段
$.each(data.field,function(index,key){
if($("input[name='"+index+"']").size()>1){
//删除原有字段属性
delete data.field[index];
var newArrar=Array()
//更新数组长度
for(v=0;v<$("input[name='"+index+"']").size();v++){
newArrar.push($("input[name='"+index+"']:eq("+v+")").val())
}
//增加属性
data.field[index]=newArrar;
}
})
这样最后的data.field的值为:
{"ee":"5","aa":["1","1"],"bb":["4","4"],"cc":["5","5"],"dd":["5","5"]}
完!!!
博客内容讲述了在处理动态增加的行信息时,如果输入文本框的name相同,会导致data.field只能获取到一行数据的问题。作者提供了一个解决方案,通过遍历data.field并查找输入框数量大于1的情况,删除原有属性并创建新的数组来存储所有值,从而正确获取每行的数据。最终,data.field的值被更新为包含所有行信息的对象。
1755

被折叠的 条评论
为什么被折叠?



