datetimepicker在asp转发器中没有正确加载

时间:2013-11-17 06:53:37

标签: jquery asp.net datetimepicker

以下是转发器的标记页

                 <table>
                    <asp:Repeater runat="server" ID="repeat">
                        <ItemTemplate>
                            <tr>
                                <td>Date:
                                </td>
                                <td>
                                    <userControls:dateTime runat="server" ID="time" AllowEmpty="false"></userControls:dateTime>
                                </td>
                            </tr>
                        </ItemTemplate>
                    </asp:Repeater>
                </table>

我已将“jquery datetimepicker”设为用户控件,以便可以重复使用,下面是“userControls:dateTime”的标记页

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <script type="text/javascript">
      $(function () {
          $("[id$=datepicker]").datepicker({
              changeMonth: true,
              changeYear: true,
              dateFormat: "dd/m/yy",
              yearRange: "-2:+2"
          });

      });
  </script>
<asp:TextBox ID="datepicker" runat="server"></asp:TextBox>

问题是:

当我在转发器外部复制<userControls:dateTime runat="server" ID="time" AllowEmpty="false"></userControls:dateTime>时,它正常工作,但如果它在转发器内部,当用户单击文本框时,日历将无法显示,我没有任何javascript错误怎么可以我解决了这个问题?

1 个答案:

答案 0 :(得分:0)

执行上述查询时,实际上将输出作为

<element id="datepicker">Some text</element>

因此,您可以使用#选择元素的ID。这也是jQuery和CSS的基本选择器。

试试这个:

$("#datepicker").datepicker({

这将选择id为datepicker的元素。