我在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>