首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

Jquery 循环GridView模版列 ,该如何循环? 100%j结贴

2013-12-11 
Jquery 循环GridView模版列 ,该怎么循环?。。############在线等! 100%j结贴$(function () {$(#GridView1 t

Jquery 循环GridView模版列 ,该怎么循环?。。############在线等! 100%j结贴

 
  $(function () {
            $("#GridView1 tr").each(function () {
                $bt = $(this).children().eq(8).children().attr("id")
                $ph = $(this).children().eq(2).children().text();
                $("#" + $bt).click(function () {
                    alert($ph);
                }) 
            })

        })


在GridView中,第9列是模版列,里面放一个按钮,现在需要实现点击这个按钮获取到这一行第3列的内容。
 每次弹出来的都是这一页最后一行第3列的内容。调试的时候发现循环了这一页所有的行。但是我点击的只是一行的按钮!为什么上面我那样循环不对? 在线等。。。
[解决办法]
你这样写不是很蛋疼吗?

$("#GridView1 tr .bnt样式名").click(function(){
   var _v= $(this).closest("tr").find("td").eq(2).text();
   alert(_v);
});
[解决办法]
清楚了,原来是个蛋疼问题。
我到现在也不知道GridView是哪里的。

$(function () {
    $("#GridView1 tr").each(function () {
        $bt = $(this).children().eq(8).children().attr("id")
        $("#" + $bt).click((function(){
        $ph = $(this).children().eq(2).children().text();
        return function () {
        alert($ph);
        }
            
        })() )
    })

})

[解决办法]
做闭包

    $(function () {

        $("#GridView1 tr").each(function () {
            $bt = $(this).children().eq(1).children().attr("id")
            $ph = $(this).children().eq(0).children().text();
            $("#" + $bt).click((function ($ph) {
                return function () {
                    alert($ph);
                }
            })($ph)

            );
        })

    })

[解决办法]
不过最好通过DOM关系来获取好些,闭包比较容易内存泄露

        $("#GridView1 tr").each(function () {
            $bt = $(this).children().eq(1).children().attr("id")
            $("#" + $bt).click(function () {
                $ph = $(this).closest('tr').children().eq(0).children().text();
            });
        })

热点排行