Get Gridview Cell Value using Javascript

I have a Gridview, where first column is a Link Button (text:view) and on click of the row, I need to get the cell value of next column.If I use below code, I get the row value but it fires on every cell is clicked .
 $(document).ready(function () {
            $("#<%=gvResults.ClientID%> tr:has(td)").click(function (e) {
                var selectedRow = $(this);
                var FirstRow = (selectedRow.children(0)[2].innerText);

Open in new window


I need a simple Javascript function, so I get the cell value(s), on when the very first column(link button) is being clicked.
ASPDEVAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Albert Van HalenConnect With a Mentor Analyst developerCommented:
Well, an asp:literal is just plain text client side, so it's not an element. In order to use an element you have to use a span or div.
But why don't you use the value directly in the itemtemplate where the linkbutton is...
<asp:TemplateField>
    <HeaderTemplate>View</HeaderTemplate>
    <HeaderStyle HorizontalAlign="Center" Width="75px" />
    <ItemTemplate>
        <asp:LinkButton ID="lnkView" runat="server" Text="View" Font-Underline="false" OnClientClick="return view('<%# Eval("ID") %>');" ForeColor="Blue" />
     </ItemTemplate>
</asp:TemplateField>

Open in new window

0
 
Albert Van HalenAnalyst developerCommented:
According to your selector it will fire on every row having cells.
If you want the event being fired only when the link is being click (I'm not sure what the element name is for a Link Button; i'm only guessing that it's an A-tag), your selector would be this :
 $("#<%=gvResults.ClientID%> a")

Open in new window

In order to get the next cell of the cell in which your link is use the following code:
var theCell = $(this).parents("td:first").next("td");

Open in new window

The text of the cell can be retreived by using the text method :
var theText = theCell.text();

Open in new window

0
 
ASPDEVAuthor Commented:
AlbervanHalen,

Tell me whether I can do this:

 <Columns>
                                            <asp:TemplateField>
                                                <HeaderTemplate>
                                                    View</HeaderTemplate>
                                                <HeaderStyle HorizontalAlign="Center" Width="75px" />
                                                <ItemTemplate>
                                                    <asp:LinkButton ID="lnkView" runat="server" Text="View" Font-Underline="false"
                                                        OnClientClick="return view();" ForeColor="Blue" />
                                                </ItemTemplate>
                                            </asp:TemplateField>
 <asp:TemplateField Visible="false">
                                                <HeaderTemplate>
                                                    ID</HeaderTemplate>
                                                <HeaderStyle HorizontalAlign="Center" Width="1px" />
                                                <ItemTemplate>
                                                    <asp:Literal runat="server" ID="ltrlID" Text='<%# Eval("ID") %>' />
                                                </ItemTemplate>
                                            </asp:TemplateField>

Open in new window


Can I pass the ltrlID client id value for the selected row  OnClientClick="return view();" like this view(document.getElementById("<%=ltrlID.ClientID %>"). Is it possible??
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
ASPDEVAuthor Commented:
I think below code will work:
OnClientClick="return view('<%# Eval("ID") %>');"

Open in new window

But I get error , server tag not well formed.How can pass the EVAL to javascript function.
0
 
Albert Van HalenAnalyst developerCommented:
Tags with mixed single and double quotes...
You can use an html anchor as an alternative:
<a id='<%# Eval("ID") %>' onclick="return view(this.id);">View</a>

Open in new window

0
 
ASPDEVAuthor Commented:
Thanks, it worked.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.