使用 JQuery 在网格视图中获取文本框值,val() 不起作用

Getting textbox value inside gridview using JQuery, val() not working

本文关键字:val 不起作用 取文本 JQuery 网格 视图 获取 使用      更新时间:2023-09-26

我在GridViewItemTemplate里面有TextBox。我将其分配给grdtxtbox CssClass并尝试使用.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,我在智力意义上也没有.val()

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

使用 eq 选择器选择第 n 个元素,如以下答案所示: 如何获取第 n 个 jQuery 元素

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
}

尝试使用它,但我不确定:

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