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; }
});
このdatepicker内で、この行の別のセルの値を(hire_dt列から)取得したいと思います。
編集$(this).parents().closest('tr').find('td:last').html()
行の最後の列なので、
使用して取得できまし
ただし、将来テーブルがすべて変更される場合に備えて、「hire_dt」IDを使用することをお勧めします。