在jquery中访问datagrid选定的行值

时间:2011-05-02 11:36:27

标签: jquery gridview click row

我试图在复选框选择中获取整个datagrid行。 但我只能获得绑定到复选框而不是其他的id的值。我的代码如下:

function btnClick() {
    var mytext
    var gridView1Control = document.getElementById('<%= indivPrincipalGrid.ClientID %>');

    $('#<%= btnGetData.ClientID %>').click(function(e) {
       $('input:checkbox[id$=CheckSelect]:checked', gridView1Control).each(function(item, index) {

            var id = $(this).next('input:hidden[id$=hdID]').val();
            var nm = $(this).find('input:hidden[id$=hdID1]').val();
            alert(id);
            alert(nm);
        });
        return false;

    }); 

我的网格如下:

<div>
    <asp:Label ID="Label1" runat="server" Text="test"Font-Bold = "true"></asp:Label>
    <asp:GridView ID="indivPrincipalGrid" runat="server" 
        AutoGenerateColumns="False">
    <Columns>
   <asp:BoundField  DataField = "Name"/>
   <asp:TemplateField>
    <ItemTemplate>
   <asp:CheckBox ID="CheckSelect" runat="server" /> 
                <asp:HiddenField ID="hdID" runat="server" Value='<%# Eval("ID")%>'/> 
                <asp:HiddenField ID="hdID1" runat="server" Value='<%# Eval("Name")%>'/>        

    </ItemTemplate></asp:TemplateField></Columns></asp:GridView>

    <asp:Button ID="btnGetData" runat="server" Text="Button" OnClientClick = "btnClick()" />

</div>

2 个答案:

答案 0 :(得分:0)

请参阅注释行,首先我找到父母,然后找到控件。希望这将完美地运作

function btnClick(){     var mytext     var gridView1Control = document.getElementById('&lt;%= indivPrincipalGrid.ClientID%&gt;');

$('#<%= btnGetData.ClientID %>').click(function(e) {
   $('input:checkbox[id$=CheckSelect]:checked', gridView1Control).each(function(item, index) {


        var id = $(this).next('input:hidden[id$=hdID]').val();
        //find the row which is tr in this case. and then find the hidden control
        var parent=$(this).parent('tr');
        var nm = parent.find('input:hidden[id$=hdID1]').val();
        alert(id);
        alert(nm);
    });
    return false;

}); 

答案 1 :(得分:0)

行.. 我发现应该填充隐藏的cntrl的函数没有正常工作,因此我在客户端脚本中得到了未定义。修复它解决了这个问题。谢谢大家的帮助。