首页 新闻 赞助 找找看

jquery 从A页面如何批量获取B页面数据???

0
悬赏园豆:20 [已解决问题] 解决于 2017-10-30 17:37

我在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>
 
注意:我的demo里可以定义 y1   y2   y3
           所提问题则不可定义
IceGodLi的主页 IceGodLi | 初学一级 | 园豆:184
提问于:2017-10-28 18:48
< >
分享
最佳答案
0
<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>
IceGodLi | 初学一级 |园豆:184 | 2017-10-30 17:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册