我在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();得不到正确的下一行。
//如果第二次循环要将数据给下一行该如何做???
}
jquery 从A页面批量获取B页面数据???
答案:3 悬赏:60 手机版
解决时间 2021-02-06 07:38
- 提问者网友:骑士
- 2021-02-05 22:33
最佳答案
- 五星知识达人网友:玩家
- 2021-02-05 22:50
不能这样根据元素名字循环遍历节点,parents会获取所有父级元素,每次循环中理论上都是获取到同样的row节点,用next()没用。
既然是同样的表格,你可以在B页面表格生成的时候顺便加一个位置参数,比如第一行第三列的button里加个属性' row="1" clm="3" ,点击的时候数顺便获取这两个参数,再到A页面根据这两个参数去找
$("tableA").children('[row='+data[i].row+']').children('[clm='+data[i].row+']').val(data[i].ProductName);或者直接在B页面获取index
var clmEl=$(this); var rowEl=clmEl.parent();
var clm=$rowEl.index(clmEl); var row=$("tableB").index(rowEl);传递到A页面根据行数row和列数clm查找位置
$("tableA").children().eq(data[i].row).children().eq(data[i].clm).val(data[i].ProductName);
既然是同样的表格,你可以在B页面表格生成的时候顺便加一个位置参数,比如第一行第三列的button里加个属性' row="1" clm="3" ,点击的时候数顺便获取这两个参数,再到A页面根据这两个参数去找
$("tableA").children('[row='+data[i].row+']').children('[clm='+data[i].row+']').val(data[i].ProductName);或者直接在B页面获取index
var clmEl=$(this); var rowEl=clmEl.parent();
var clm=$rowEl.index(clmEl); var row=$("tableB").index(rowEl);传递到A页面根据行数row和列数clm查找位置
$("tableA").children().eq(data[i].row).children().eq(data[i].clm).val(data[i].ProductName);
全部回答
- 1楼网友:千夜
- 2021-02-06 00:57
通过传参,打开b页面的时候
b.html?输入框内容=输入框值,然后在a页面接收这个值
- 2楼网友:夜风逐马
- 2021-02-05 23:33
简单,通过top和parent,调用a b l页面函数达到传递数据。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |