如何使用jquery在gridview中获取文本框控件

时间:2015-10-22 20:40:55

标签: jquery asp.net jquery-ui

我尝试了以下代码

    $(document).ready(function () {

        alert("test");
        var $arrT = $('#<%=gvView.ClientID %>').find('input:text[id$="txtRow"]');
        alert($arrT.length);

        var $txt = $arrT[0];
        alert($txt);

    });

</script>

长度始终为0,$ txt未定义。我是jquery的新手。请帮忙。我究竟做错了什么。这是我的gridview      

       <Columns>
           <asp:TemplateField HeaderText="LineNo">
          <ItemTemplate>   
           <asp:Label ID="lblLineno" runat="server"></asp:Label>
         </ItemTemplate> 
 </asp:TemplateField>
  <asp:TemplateField HeaderText="IsEmployee">
     <ItemTemplate>
       <asp:CheckBox ID="chckIsEmp" runat="server" /> </ItemTemplate>  </asp:TemplateField>
     <asp:TemplateField HeaderText="EmpNo">  
    <ItemTemplate>
       <asp:TextBox ID="txtcostcenter" runat="server" ></asp:TextBox>
        </ItemTemplate>
 </asp:TemplateField> 
</Columns> 
  </asp:GridView>

2 个答案:

答案 0 :(得分:0)

以下是可能出现的问题。

  1. 在您的asp.net gridview控件中,通过以下实现,您将定位以id ='txtRow'结尾的输入控件。检查并确保呈现的输入控件的id以'txtRow'结尾。否则,您的警告语句将返回0。

    var $ arrT = $('#&lt;%= gvView.ClientID%&gt;')。find('input:text [id $ =“txtRow”]');         警报($ arrT.length);

  2. 如果上述原因失败,则不会选择元素,因此以下语句将返回'undefined'

    var $ txt = $ arrT [0];

  3. 如果上述两个原因都已通过,并且您希望获取所选元素的值,则可以执行以下操作:

    警报($($ ARRT).VAL());

  4. 这是一个可以帮助您清楚理解事物的示例。 (因为我不能在没有asp.net引擎的情况下运行asp.net webform代码,所以示例中的引用与html有关。)

答案 1 :(得分:0)

只需改变

('input:text[id$="txtRow"]'   `TO`   ('input:text[id$="txtcostcenter"]')

$(document).ready(function () {

        var $arrT = $('#<%=gvView.ClientID %>').find('input:text[id$="txtcostcenter"]');
        alert($arrT.length);

    });