Javascript 如何在jquery中获取repeater项的id
如何使用jQuery获取嵌套中继器中文本框的Javascript 如何在jquery中获取repeater项的id,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,如何使用jQuery获取嵌套中继器中文本框的id 这是我目前的代码: <script type="text/javascript"> var e = jQuery.noConflict(); e(document).ready(function () { e("#<%= datepicker.ClientID %>, #datepicker").datepicker({ changeMonth: true,
id
这是我目前的代码:
<script type="text/javascript">
var e = jQuery.noConflict();
e(document).ready(function () {
e("#<%= datepicker.ClientID %>, #datepicker").datepicker({
changeMonth: true,
changeYear: true
});
});
</script>
<asp:Repeater runat="server" ID="rpfollowup">
<ItemTemplate>
<asp:Repeater runat="server" ID="rpactivity" OnItemDataBound="rpactivity_ItemDataBound" >
<ItemTemplate>
<tr>
<td><asp:TextBox ID="Activities" runat="server" CssClass="span10" Text='<%#Eval("Activity")%>'></asp:TextBox></td>
<td><asp:TextBox ID="datepicker" runat="server" CssClass="span10" ClientIDMode="Static" Text='<%#Eval("Start_Date")%>'></asp:TextBox></td>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
var e=jQuery.noConflict();
e(文件).就绪(功能(){
日期选择器({
变化月:对,
变化年:对
});
});
我减少了代码以避免混淆
由于无法检测到中继器内的ID,因此给出红色下划线。
请给出一个解决方案。提前感谢如果这是ASP.NET
repeater
控件,那么所有控件都会重复自身,文本框也会重复,因此您将有ID
附加1,2,等等。因此,请在文本框中使用类,并应用如下函数:-
e(".datepicker").datepicker({
changeMonth: true,
changeYear: true
});
<td><asp:TextBox ID="datepicker" runat="server" CssClass="span10 datepicker"
ClientIDMode ClientIDMode="Static" Text='<%#Eval("Start_Date")%>'></asp:TextBox></td>
更新:-将其用于repeater,因为每个项目都有多个文本框
$('.datepicker').each(function () {
$(this).datepicker({
changeMonth: true,
changeYear: true});
});
我在你的分数中加了一个类,如下所示:-
e(".datepicker").datepicker({
changeMonth: true,
changeYear: true
});
<td><asp:TextBox ID="datepicker" runat="server" CssClass="span10 datepicker"
ClientIDMode ClientIDMode="Static" Text='<%#Eval("Start_Date")%>'></asp:TextBox></td>
另外,请注意,由于这是Repeater,控件将重复,因此您需要使用
$(this)
引用当前上下文中的当前元素。请将此控件呈现的HTML添加到问题中。如果您将类“datepicker”添加到控件中,而不是使用ID,则会更容易。CssClass=“span10 datepicker”
Ok。添加类后,我应该对jquery做什么更改??(我对jquery很弱!!)e(“.datepicker”)。datepicker({…})
谢谢Rahul,但当我将日历日期添加到中继器第二项的文本框中时,该值位于第一项的文本框中。@DivyaMenezes-这就是我在上一段中提到的,您需要使用$获取上下文(此)
否则它将始终选择第一个元素。真的很抱歉,我还没有得到它。一旦我添加“this”,日历将停止显示。您能给出完整的代码吗?