我在A页面,我有一个table,5列3行,该table无任何数据,每一行都有点击事件。当我点A页面table中任意一行后,可以选B页面的table的数据,B页面table也是5列3行,当我在B页面选了一条数据,我可以将B页面的这一条数据给到A页面“当前行”来。这没问题。
一行数据表示一个对象,多行数据表示数组(或集合)。
当我选了B页面多条数据后,我得到了这个集合。我如何将该集合的数据给A页面的table?
for (var i = 0; i < data.length; i++) { //此行中data为B页面的集合数据
// $(obj) :为当前行的某列
// parents('[role=row]') :为当前行某列 父级的属性[role=row]
// find('input[name="ProductName"]') :绑定一个input
// val(data[i].ProductName) : 并给input赋值
$(obj).parents('[role=row]').find('input[name="ProductName"]').val(data[i].ProductName);
//第一次循环,应将数据给当前行,
//第二次循环,应将数据给当前行的下一行。
//此处使用 next();得不到正确的下一行。
//如果第二次循环要将数据给下一行该如何做???
}
另外我成功的demo
function NewDataLoad() {
var testdata = [
{ s1:
"1"
, s2:
"1"
},
{ s1:
"2"
, s2:
"2"
},
{ s1:
"3"
, s2:
"3"
}
];
//for (var i = 0; i < testdata.length; i++) {
// $('.y' + (i+1) + ' input[name="s1"]').val(testdata[i].s1);
// $('.y' + (i+1)+ ' input[name="s2"]').val(testdata[i].s2);
//}
$(
".k"
).each(function (i) {
var row = testdata[i];
$(
'.y'
+ (i + 1) +
' input[name="s1"]'
).val(row.s1);
})
}
<table border=
"1"
>
<tr
class
=
"y1 k"
>
<td width=
"100"
><input type=
"text"
name=
"s1"
/></td>
<td width=
"100"
><input type=
"text"
name=
"s2"
/></td>
</tr>
<tr
class
=
"y2 k"
>
<td><input type=
"text"
name=
"s1"
/></td>
<td><input type=
"text"
name=
"s2"
value=
""
/></td>
</tr>
<tr
class
=
"y3 k"
>
<td><input type=
"text"
name=
"s1"
/></td>
<td><input type=
"text"
name=
"s2"
/></td>
</tr>
</table>
<html> <head> <meta name="viewport" content="width=device-width" /> <title>Index2</title> <script src="~/Scripts/jquery-1.10.2.min.js"></script> <script> var arr = [ { id: '11', name: 'qq', address: '第一行', phone: '01011dd11' }, { id: '111', name: 'qq11', address: '第二行', phone: '0101xxc111111' } ]; function clickLoad(obj) { for (var i = 0; i < arr.length; i++) { $(obj).text(arr[i].address); obj = $(obj).parent("tr").next().find(".s1"); } } </script> </head> <body> <table id="a" border="1"> <tr> <td class="s1" onclick="clickLoad(this)" width="100">...</td> <td width="100"></td> <td width="100"></td> <td width="100"></td> </tr> <tr> <td class="s1" onclick="clickLoad(this)" >...</td> <td></td> <td></td> <td></td> </tr> <tr> <td class="s1" onclick="clickLoad(this)">...</td> <td></td> <td></td> <td></td> </tr> </table> </body> </html>