Javascript 在客户端访问嵌套中继器的文本框
如何在父中继器控件的客户端事件中获取嵌套中继器文本框控件 我在父中继器控件的每个中继器项中都有一个复选框,在子中继器的每个中继器项中都有一个文本框。在checkbox change事件中,我需要查找客户端中该项的child repeater文本框中是否有任何值 我为textbox提供了一个类,但是下面的代码循环了父中继器中的所有textbox $'.RepeaterTextBox'.eachfunction{ var txtvalue=$this.val 单亲呈现的HTML如下所示Javascript 在客户端访问嵌套中继器的文本框,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,如何在父中继器控件的客户端事件中获取嵌套中继器文本框控件 我在父中继器控件的每个中继器项中都有一个复选框,在子中继器的每个中继器项中都有一个文本框。在checkbox change事件中,我需要查找客户端中该项的child repeater文本框中是否有任何值 我为textbox提供了一个类,但是下面的代码循环了父中继器中的所有textbox $'.RepeaterTextBox'.eachfunction{ var txtvalue=$this.val 单亲呈现的HTML如下所示 <
<table>
<tr>
<td>
<input id="chkActive_0" name="chkActive" />
</td>
</tr>
<tr>
<td>
<div id="divText" style="padding-left: 15px; display: none;">
<table style="width: 100%">
<tr>
<td>
<div id="Category_0">
<textarea name="txtCategoryText" rows="2" cols="20" id="CategoryText_0" class="RepeaterTextbox"></textarea>
</div>
</td>
<td>
<div id="Category_1">
<textarea name="txtCategoryText" rows="2" cols="20" id="CategoryText_1" class="RepeaterTextbox"></textarea>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<div id="repeater_435734957439857435">
<input type="text" class="RepeaterTextbox">Test</input>
<input type="checkbox">
</div>
您可以使用检查表父属性
假设呈现的html如下所示
<table>
<tr>
<td>
<input id="chkActive_0" name="chkActive" />
</td>
</tr>
<tr>
<td>
<div id="divText" style="padding-left: 15px; display: none;">
<table style="width: 100%">
<tr>
<td>
<div id="Category_0">
<textarea name="txtCategoryText" rows="2" cols="20" id="CategoryText_0" class="RepeaterTextbox"></textarea>
</div>
</td>
<td>
<div id="Category_1">
<textarea name="txtCategoryText" rows="2" cols="20" id="CategoryText_1" class="RepeaterTextbox"></textarea>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<div id="repeater_435734957439857435">
<input type="text" class="RepeaterTextbox">Test</input>
<input type="checkbox">
</div>
这应该适用于您的标记:
$(document).ready(function () {
$(document).on("click", "input:checkbox[name='chkActive']:checked", function () {
var nexttr = $(this).closest('tr').next('tr');
$(nexttr).find('textarea').each(function () {
alert($(this).val());//Or whatever you want
})
});
});
试试看,嵌套的repeater中似乎有多个textarea,因此事件处理程序中的第二行将循环遍历每个textarea并在控制台中打印值
$("[type=checkbox]").on("change", function () {
var oTexts = $(this).parents("tr").next().find("textarea");
$(oTexts).each(function (ind, val) { console.log($(val).val()); });
});
请告诉我们到目前为止您已经尝试了什么,并提供您的代码。在您的服务器端代码中,为每个文本框指定一个类。然后在客户端,您可以使用该类获取所有输入控件附加任何单个转发器项的呈现HTMLparent@RashminJaviya,我包含了单个repeaterMy文本框的呈现html,它位于t的子/嵌套repeater中他是一个家长