2012-11-08 72 views
0

的另一小區我有一個TemplateField內的圖像的值在GridViewjQuery中,得到在同一行的GridView

<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」編號,以防萬一表格在未來發生變化。

回答

1

用jquery遍歷你的標記。可能StartDateImg就是一個圖像。那麼它的父母可能是一個TD,而其父母可能是TR。

你最簡單的一個兄弟TD(或至少有一組類相同TR的孩子)路徑爲:$(this).closest('tr').find('.hire_dt')

+0

見上面的編輯,能夠使用'last'得到它。這兩個都會返回null alert($(this).parents()。closest('tr')。find('。hire_dt')。html()); ('。').closest('tr')。find('。hire_dt')。html());' – RememberME

+0

您仍然沒有發佈***產生的HTML。我想看你的輸出,而不是你的ASP.NET的片段。但這是我的猜測:你正在根據hire_dt類找到。我沒有在你的代碼中看到你爲該類指定了什麼。在字段「hire_dt」上使用綁定字段不會爲其指定類名稱,因此它找不到具有類hire_dt的任何元素。 –