在jquery中,获取gridview同一行中另一个单元格的值

时间:2012-11-08 21:07:29

标签: jquery gridview jquery-ui-datepicker

我在GridView中的TemplateField中有一个图像

<asp:TemplateField HeaderText="Start Date" SortExpression="start_dt">
                <EditItemTemplate>
                    <asp:Label ID="StDt" runat="server" CssClass="StartDate" Text='<%# Eval("start_dt", "{0:d}") %>'></asp:Label>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="StDt" runat="server" Text='<%# Bind("start_dt", "{0:d}") %>'></asp:Label>
                    <asp:ImageButton ID="startdtimage" CssClass="StartDateImg" runat="server" ImageUrl="../images/pencil.gif" Visible='<%# HasUpdateStartDateRole() %>' Width="18px" Height="18px" onclientclick="javascript:return false;"/>
                </ItemTemplate>
                <ItemStyle Wrap="False" />
            </asp:TemplateField>

 <asp:BoundField DataField="hire_dt" DataFormatString="{0:d}" 
                HeaderText="Hire Date" ReadOnly="True" />
        </Columns>

我有一个附加到图像的日期选择器。

$(".StartDateImg").datepicker({
                duration: '',
                showTime: false,
                constrainInput: false,
                onSelect: function (dateText) {
                    alert($(this).parents().find(".hire_dt").html()); 
                    $(this).parents().find("span")[0].innerHTML = dateText; }

            });

在这个日期选择器中,我想获取此行中另一个单元格的值(来自hire_dt列)。

修改 的 我能够使用它 $(this).parents().closest('tr').find('td:last').html()因为它是行中的最后一列。我更喜欢使用“hire_dt”id,以防表格在将来每次更改。

1 个答案:

答案 0 :(得分:2)

使用jquery遍历您的标记。可能StartDateImg是一个图像。那么它的父母可能是TD,其父母很可能是TR。

通往兄弟TD的最简单路径(或者至少是具有设定类的相同TR的孩子):$(this).closest('tr').find('.hire_dt')