使用多个asp:Repeater TextBox创建Bootstrap-Datepicker

时间:2013-11-08 15:10:55

标签: c# javascript jquery asp.net twitter-bootstrap

我正在使用asp:Repeater创建表单,转发器的每个对象都有一个文本框,需要它自己唯一的bootstrap-datepicker链接到它。 (datepicker是twitter-bootstrap 2.3.2的javascript插件,在这里找到:http://www.eyecon.ro/bootstrap-datepicker - 想要添加链接是安全的,但是没有真正需要查看关于问题的页面)< / p>

我的问题是我无法使用asp.net clientid正确定位文本框。

aspx代码:

<asp:Repeater ID="repList" runat="server">
    <HeaderTemplate>
        <ul class="gridul">
            <li class="gridli userrole"><span class="short liheader">Jenz ID</span></li>
            <li class="gridli"><span class="long liheader">Name</span></li>
            <li class="gridli"><span class="short liheader">S/S/F</span></li>
            <li class="gridli"><span class="short liheader">Date</span></li>
            <li class="gridli"><span class="long liheader">Payment Type</span></li>
            <li class="gridli"><span class="mid liheader">Sent to B.O.</span></li>
        </ul>
    </HeaderTemplate>
    <ItemTemplate>
        <ul class="gridul">
            <li class="gridli userrole"><span class="short"><%# Eval("jenzabar_id") %></span></li>
            <li class="gridli"><span class="long"><%# Eval("first_name") %>&nbsp<%# Eval("last_name") %></span></li>
            <li class="gridli"><span class="short"><%# Eval("student_staff_faculty") %></span></li>
            <li class="gridli"><span class="short"><%# Eval("reservation_date") %></span></li>
            <li class="gridli"><span class="long"><asp:TextBox ID="PayType" runat="server" Text='<%# Eval("payment_type") %>' /></span></li>
            <li class="gridli"><span class="mid"><asp:TextBox ID="SentBo" runat="server" Text='<%# Eval("sent_to_bo") %>' /></span></li>
        </ul>
        <asp:HiddenField ID="hidJenz" runat="server" Value='<%# Eval("jenzabar_id") %>' />
        <asp:HiddenField ID="hidPayType" runat="server" Value='<%# Eval("payment_type") %>' />
        <asp:HiddenField ID="hidSentBo" runat="server" Value='<%# Eval("sent_to_bo") %>' />
    </ItemTemplate>
</asp:Repeater>

目标文本框是:

<asp:TextBox ID="SentBo" runat="server" Text='<%# Eval("sent_to_bo") %>' />

在我的scripts.js中,我可以通过查看aspx源并复制生成的id(例如“ctl00_MainContent_repList_ctl01_SentBo”)来定位单个文本框,但我无法弄清楚如何使用&lt;%#SentBo.ClientID%&gt;与转发器。它只是不起作用。

示例:

$(function () {
    $('ctl00_MainContent_repList_ctl01_SentBo').datepicker();
})

成功

$(function () {
    $('<%#= SentBo.ClientID %>').datepicker();
})

不是

1 个答案:

答案 0 :(得分:0)

更多的挖掘。最后找到了答案。

替换:

$('ctl00_MainContent_repList_ctl01_SentBo').datepicker();

使用:

$(this).find("input[type=text][id*=SentBo]").datepicker();