2015-01-02 49 views
0

我有TextBox里面GridViewItemTemplate。我赋予它CssClassgrdtxtbox,并尝试使用.val()使用jQuery获取文本框内gridview值,val()不工作

aspx代码来获得它们的值是如下

<asp:TemplateField HeaderText="No. Of Days"> 

    <ItemTemplate> 
       <asp:TextBox ID="txtDays" runat="server" CssClass="grdtxtbox"></asp:TextBox> 
    </ItemTemplate> 
</asp:TemplateField> 

JQuery如下

var leaveTextBoxes = $(".grdtxtbox"); 
      for (var i = 0; i < leaveTextBoxes.length; i++) { 
       alert(leaveTextBoxes[i].val()); 
      } 

我可以alert(leaveTextBoxes[i].length)长度正常,意味着代码看起来不错,但.val()不起作用。这条线上的错误是Undefined is not a function,我也没有在intellisense中获得.val()

更新 但是.value在那里工作正常。 .val()有什么问题?

+2

尝试'$(leaveTextBoxes [i]).val()' – Bharadwaj

+0

这应该是答案@Bharadwaj – Imad

+0

是解决你的问题吗? – Bharadwaj

回答

0

尝试使用这个,但我不知道:

$("#Gridid .grdtxtbox").each(function() { 
    alert($(this).val()); 
}); 
+0

其中'Gridid'是GridView的id值 –

0

使用eq选择器选择的第n个元素,如在这样的回答:How to get nth jQuery element

for(i=0; i<leaveTextBoxes.length; i++){ 
    alert(leaveTextBoxes.eq(i).val()); 
} 

另外,

for(i=0; i<leaveTextBoxes.length; i++){ 
    alert(leaveTextBoxes.get(i).value); //plain-old-js 
    alert($(leaveTextBoxes.get(i)).val()); //dirty but works 
} 
相关问题