Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jquery中获取repeater项的id_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript 如何在jquery中获取repeater项的id

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,

如何使用jQuery获取嵌套中继器中文本框的
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”,日历将停止显示。您能给出完整的代码吗?