使用JQuery在gridview中获取文本框值,val()不起作用

时间:2015-01-02 06:58:03

标签: javascript jquery asp.net gridview

我在TextBox GridViewItemTemplate。我已将CssClass分配给grdtxtbox并尝试使用.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 个答案:

答案 0 :(得分:0)

尝试使用此功能,但我不确定:

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

答案 1 :(得分: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
}