如何使用JQuery访问Repeater中的DIV元素

时间:2017-03-30 01:08:03

标签: jquery html asp.net repeater

所以我有一个带有文本框的ASP.NET转发器控件和一个隐藏了验证文本的div。我试图根据是否在文本框中输入特殊字符来显示此div。我设法在所有文本框中应用jquery正则表达式,但是我试图弄清楚如何将验证错误应用到用户输入输入的文本框行,因为我想要错误div在此特定行上显示消息。我可以让它在第一行工作,但由于转发器在HTML中创建了它自己的控件ID,我想知道如何解决这个问题。这是我的代码:

<div>
  <button>button</button>
  <button>button</button>
</div>

有什么建议吗?感谢帮助。

2 个答案:

答案 0 :(得分:0)

将类添加到您的文本框html中,如此

<asp:textbox ID="txtbox1" class="question" runat="server" Text='<%# Eval("Questions") %>' />

所以你可以替换

$('[id*=txtbox1]').keyup(function() ...

到这个

$(".question").keyup(function() ...

这个#ErrorDiv将不起作用..因为ID必须是唯一的,并且您的转发器将创建具有相同ID的多个div。因此,将id="ErrorDiv"更改为class="errorDiv"

<强>错

$('#ErrorDiv').show();

<强>正确

// $('#ErrorDiv').show();
$(this).next(".errorDiv").show();

答案 1 :(得分:0)

您遇到的问题是因为textbox-id是唯一的。因此,只有解决方案是使用getElementsByNameclass名称选择元素。