我在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,以防表格在将来每次更改。
答案 0 :(得分:2)
使用jquery遍历您的标记。可能StartDateImg是一个图像。那么它的父母可能是TD,其父母很可能是TR。
通往兄弟TD的最简单路径(或者至少是具有设定类的相同TR的孩子):$(this).closest('tr').find('.hire_dt')