2016-09-04 2 views
0

그래서 gridview 셀에 초점을 맞춤으로써 경고 팝업을하는 방법을 배웠지 만 셀 값을 표시하는 방법을 모르겠습니다.JS를 사용하여 Gridview에서 값 얻기

$(document).ready(function(){ 
    $('.alertpopup').focus(function() { 
     var itemvalue = $('.alertpopup').val(); 
     alert(itemvalue); 
    }); 
}); 

문제는이 나에게 열에서 첫 번째 셀의 값을 제공한다는 것입니다 :

<asp:GridView ID="gridviewSLds" runat="server" CellPadding="0" ForeColor="#333333" GridLines="Both" AutoGenerateColumns="False" OnRowCreated="gridviewSLds_RowCreated"> 
    <AlternatingRowStyle BackColor="White" /> 
    <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> 
    <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> 
    <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" /> 
    <RowStyle BackColor="#FFFBD6" ForeColor="#333333" /> 
    <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" /> 
    <SortedAscendingCellStyle BackColor="#FDF5AC" /> 
    <SortedAscendingHeaderStyle BackColor="#4D0000" /> 
    <SortedDescendingCellStyle BackColor="#FCF6C0" /> 
    <SortedDescendingHeaderStyle BackColor="#820000" /> 
    <Columns> 
     <asp:TemplateField ItemStyle-BorderWidth="0"> 
      <ItemTemplate> 
       <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("Id") %>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="item" HeaderText="Metric" SortExpression="item" ReadOnly="false" /> 
     <asp:TemplateField HeaderText="Item"> 
      <ItemTemplate> 
       <asp:TextBox onfocusin="select()" runat="server" Text='<%# Bind("item") %>' 
        ID="txtfocus" class="alertpopup" AutoPostBack="true"></asp:TextBox> 
      </ItemTemplate> 
      <HeaderStyle HorizontalAlign="Center" /> 
      <ItemStyle HorizontalAlign="Center" /> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Control Type"> 
      <ItemTemplate> 
       <asp:TextBox onfocusin="select()" runat="server" Text='<%# Bind("itemCtrlType") %>' 
        ID="txtfocus2" class="modalpopup2" AutoPostBack="true"></asp:TextBox> 
      </ItemTemplate> 
      <HeaderStyle HorizontalAlign="Center" /> 
      <ItemStyle HorizontalAlign="Center" /> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

스크립트는 다음과 같다 : 다음은 내 코드입니다. 내가 집중했던 것이 아닙니다.

답변

2

할 때 $('.alertpopup').val();$('.alertpopup')은 선택기와 일치하는 모든 요소를 ​​선택하지만 처음 선택한 것만 사용하면 끝납니다. 그러나 콜백 함수의 this 컨텍스트는 포커스 된 HTML 요소로 설정됩니다. 그래서 대신이 작업을 수행하면 작동합니다.

$(document).ready(function(){ 
    $('.alertpopup').focus(function() { 
     var itemvalue = $(this).val(); // By selecting `this` you select the focused element 
     alert(itemvalue); 
    }); 
});