GridView中第一列放的是checkBox,现在想点击该checkBox时通过javascript得到当前的行,哪位高人帮忙指点一下

解决方案 »

  1.   

    教你一个方法.
    建立一个公共的数组变量
    在那个checkbox上面加一个事件.就是当他onclick的时候就判断他是否选中,如果选中就加入到一个数组中.否则就从数组中移出.
    最后你就只要判断数组的长度就可以了!
      

  2.   

    sorry ,刚才看错内容了.
    你要取他的行的话就只要在他生成的时候将他的ID值用一个循环数代替就可以了.非常方便.取的时候就只要取ID就可以了!
      

  3.   

    to:2楼
    "就是当他onclick的时候就判断他是否选中",怎么判断??
      

  4.   

    不用循环的话就要给每个CheckBox增加JavaScript事件,每次CheckBox发生onchange事件的时候都计算行数,参考一下这一段代码:
    ...
    <asp:CheckBox runat="server" onchange="selectSingle(this);"
    </asp:CheckBox>
    ...<script type="text/javascript">    int _selectedItemCount = 0;    function selectSingle(source){
            if(source.checked)
                _selectedItemCount++;
            else
                _selectedItemcount--;
        }</script>使用这种方式,页面发送POSTBACK后, _selectedItemCount将丢失!
      

  5.   

    我现在用的是母板页,每一行的id都是"ctl00_ContentPlaceHolder2_gvUserInfo_ctl02_chkRecord"这样的,实际上是跟只要知道选中的行,我就可以得到id,剩下的就好办了,现在我就是想怎么得到当前选中的行?
      

  6.   


    如果想获取这一行中的某一个元素的话,可以用下面的方法:javascritp:var elem = source.parentElement; // 获取CheckBox的父接点,例如是一个TD
    elem = elem.nextSibling(); // obj.nextSibling(), obj.previousSibling()方法可以获取元素的相邻节点
    elem = elem.getElementsByTagName('INPUT'); // getElementsByTagName可以获取出指定接点内的指定节点elem成为一个数组,你需要的元素在elem中,进行判断,然后取你需要的元素,取值。