使用for循环获取动态创建的asp控件id(值)

本文关键字:id 控件 asp 循环 for 获取 动态 创建 使用 | 更新日期: 2023-09-27 18:02:07

我如何通过使用循环访问类似的asp控制id ?我有以下asp文本框:

<asp:TextBox ID="PFtxtname1" runat="server"></asp:TextBox>
<asp:TextBox ID="PFtxtname2" runat="server"></asp:TextBox>
<asp:TextBox ID="PFtxtname3" runat="server"></asp:TextBox>
<asp:TextBox ID="PFtxtname4" runat="server"></asp:TextBox>
<asp:TextBox ID="PFtxtname5" runat="server"></asp:TextBox>
<asp:TextBox ID="PFtxtname6" runat="server"></asp:TextBox>

,我想通过jQuery的for循环访问所有这些文本框值,我该怎么做?

我试图通过下面的代码获取值,但它显示错误。

var ar_val=[];
for(i=0;i<7;i++)
{
  var txtv = $("#<%=PFtxtname"+i+".ClientID%>").val().trim();
  ar_val.push(txtv);
}

使用for循环获取动态创建的asp控件id(值)

您将客户端和服务器端代码混合在一起,这将无法正常工作。

为文本框添加一个通用的CSS类:

<asp:TextBox ID="PFtxtname1" runat="server" CssClass="txtName"></asp:TextBox>

和迭代元素在Jquery中使用类选择器:

$(".txtName").each(function() {
    alert($(this).val()) // for value
    alert(this.id)   // for id
})

你应该试试这个,我认为它工作良好

var ar_val=[]; 
    $("form").find("[id$='PFtxtname']").each(function () {
            var txtv =  $(this).val().trim();  
    ar_val.push(txtv);    
                });