场景:
我有一个表格,用来登记人员。我有一个按钮"添加更多的人"。中继器在Page_Load上运行了4次,所有控件都已在页面上(它们只是隐藏的)。当我点击按钮时,我发现了第一个隐藏的div
,并将其显示出来
问题:
现在,我需要在中继器生成的specificdiv中使用specific元素(例如,更改它的类)。但是我不知道如何访问它。按Id访问不起作用,按类访问也不起作用。我无法从后面的代码中执行任何操作,因为所有内容都已在页面上。它必须用javascript来完成。有什么想法吗?
代码:
<asp:Repeater ID="rptOtherPeople" runat="server">
<HeaderTemplate>
<h3>Other people</h3>
</HeaderTemplate>
<ItemTemplate>
<div class="GridRow" id="personRow" style="display: none">
<dl>
<dt class="form-lbl left">Name</dt>
<dd class="form-value left">
<asp:TextBox ID="txtFirstName" CssClass="mid-inp required" Text="" runat="server"></asp:TextBox>
</dd>
</dl>
<div class="clear"></div>
<div class="separator"></div>
</div>
</ItemTemplate>
<FooterTemplate> </FooterTemplate>
</asp:Repeater>
显示下一行的javascript:
var peopleNum = 1;
$(document).ready(function () {
for (i = 0; i < peopleNum; i++) {
$(".GridRow").each(function (index) {
if (index == i)
$(this).show();
});
}
})
function addPerson() {
peopleNum++;
$(".GridRow").each(function (index) {
if (index == peopleNum-1)
$(this).show();
});
}
你能澄清一下吗??你希望什么时候更改CSS或任何其他东西??我们可以在Jquery 中处理中继器
示例:
$("[id*=txtFirstName]").change(function () {
// This displays the text from the Tag element of the button...
$(this).css("background", "red");
});
好吧,你有一些选择,第一个是使用ID来找到像这个这样的元素数组
$($( "input[id*='txtFirstName']" )[i]).addClass("myNewClass")
这意味着其id包含txtFirstName的所有元素。
另一个是由您的网格选择:
$($(".GridRow")[i]).find(".mid-inp").addClass("myNewClass")
检查此项:
$($(".GridRow")[i]).addClass("Yourclass");