情景:
我有一个表格,我在其中注册人。我有一个按钮“添加更多人”。转发器在Page_Load上运行了4次,所有控件都已在页面上(它们只是隐藏)。当我点击按钮时,我找到第一个隐藏的div
并显示它。
问题:
现在我需要在转发器生成的特定div中使用特定元素(例如更改它的类)。但是我不知道如何访问它。 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();
});
}
答案 0 :(得分:2)
示例:
$("[id*=txtFirstName]").change(function () {
// This displays the text from the Tag element of the button...
$(this).css("background", "red");
});
答案 1 :(得分:0)
你有一些选择,第一是使用ID来找到像这样的元素数组
$($( "input[id*='txtFirstName']" )[i]).addClass("myNewClass")
这意味着其id包含txtFirstName的所有元素。
另一个是你的网格选择:
$($(".GridRow")[i]).find(".mid-inp").addClass("myNewClass")
答案 2 :(得分:0)
检查一下:
$($(".GridRow")[i]).addClass("Yourclass");