jQuery datepicker没有出现在asp.net文本框控制器中

时间:2016-06-01 14:54:04

标签: jquery html asp.net datepicker

以下是我的代码

<script type="text/javascript" src="jquery-ui-1.11.4/jquery-1.4.1.min.js"></script>
<link href="jquery-ui-1.11.4/jquery-ui.min.css" rel="stylesheet" />
<script type="text/javascript">
    $(document).ready(function() 
    {
        $('#myDate').datepicker();
    });
</script>

我正在创建asp.net控制器,如下所示:

<asp:TextBox ID="myDate" runat="server"></asp:TextBox>

但是,当我点击文本框时,没有任何反应,并且没有出现日期选择器窗口。

5 个答案:

答案 0 :(得分:3)

  

Jquery代码是客户端代码,但 ASP:文本框是服务器端控件(您的文本框ID是&#34; myDate &#34;它位于服务器上())当它转换成HTML时,它可以改变它的ID,如&#34; ContenPlaceHolder_myDate &#34;,所以&#34; myDate&#34;在客户端找不到id,要解决此问题,我们可以使用 ClientID 将服务器端控件ID解析为客户端控件(HTML控件)。

    <script type="text/javascript">
        $(document).ready(function() 
        {
            $('#<%=myDate.ClientID %>').datepicker();
        });
    </script>

答案 1 :(得分:0)

myDate是一个服务器控件。因此,您无法通过在jquery代码中编写的内容来访问它,因此请检查以下jquery代码

<script type="text/javascript">
    $(document).ready(function () {
        $("#<%= myDate.ClientID %>").datepicker();
    });
</script>

答案 2 :(得分:0)

您没有使用正确的库来使用datepicker插件。

Example jQuery Datepicker

您需要在头标记中添加以下内容:

<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

此外,您正在使用ASP.NET,因此您的ID可能会大不相同。 看看Durgesh Pandey的答案。

您可以看到需要输入输入字段的ClientID

答案 3 :(得分:0)

如果您想通过控件的ID分配datepicker,我知道这可能不是您的解决方案。但是,如果您不希望在呈现为HTML时感到ID(服务器端)和ID混淆,则可能更容易使用Control的CssClass属性。

<script type="text/javascript">
    $(document).ready(function ()
    {
        $('.datePickerClass').datepicker();
    });
</script>

<asp:TextBox ID="myDate" runat="server" CssClass="datePickerClass"></asp:TextBox>

答案 4 :(得分:-1)

我认为你应该改变&#34; datepicker&#34; by&#34; datetimepicker&#34;如果你只想要那一天,你可以指定一种格式