1

我目前在 IE11 中使用 datepicker 时遇到了一些问题。当我单击我的文本框时,它至少可以在文本框的右端显示一个“x”以删除其内容。但是日历本身没有显示。

当我尝试使用 textmode="DATE" 而不是 jquery datapicker 时,它会产生相同的最终结果。我正在使用主/内容布局,并且 jquery 导入位于母版页上。

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<br /><br /><br />

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

<div>
    Welche Tage sollen angezeigt werden:
    <asp:TextBox runat="server" ID="DisplayFromDateTextBox"></asp:TextBox>
    Bis
    <asp:TextBox runat="server" ID="DisplayToDateTextBox"></asp:TextBox>
    <asp:Button runat="server" ID="DisplayButton" OnClick="DisplayButton_Click" Text="Anzeigen"/>
</div>

<asp:ListBox ID="JournalListBox" runat="server" Height="531px" Width="593px"></asp:ListBox>

在母版页中,我以这种方式包含 jquery:

编辑:当我单击文本字段(第一个)时,效果如下图所示: 在此处输入图像描述

更新:当我按照评论中的建议删除了 ready 函数的冗余部分时,我犯了一些错误。更正它们后,执行就绪时出现 .js 错误: $("#MainContent_DisplayFromDateTextBox").datepicker();带来对象或方法不支持 datepicker 的错误。最后一个问题是由于自动创建的对 jquery 的脚本引用的干扰,导致 jquery 的手动包含出现故障。

4

2 回答 2

1

HTML:在 from 和 to 文本框上添加了属性 CssClass:

 <div>
        Welche Tage sollen angezeigt werden:
    <asp:TextBox runat="server" ID="DisplayFromDateTextBox" CssClass="datepicker"></asp:TextBox>
        Bis
    <asp:TextBox runat="server" ID="DisplayToDateTextBox" CssClass="datepicker"></asp:TextBox>
        <asp:Button runat="server" ID="DisplayButton" OnClick="DisplayButton_Click" Text="Anzeigen" />
    </div>

将脚本代码更改为:

<script type="text/javascript">
    $(document).ready(function () {
        var currentDate = new Date();

        $("input.datepicker").datepicker({
            dateFormat: 'yy-mm-dd',
            maxDate: 0,
            changeYear: true
        });

        $("#<%= DisplayFromDateTextBox.ClientID %>").datepicker("setDate", currentDate).datepicker('show');
        $("#<%= DisplayToDateTextBox.ClientID %>").datepicker();
    });
</script>

谢谢

于 2019-05-13T07:00:14.490 回答
1

您可以通过这种方式尝试

1. 母版页

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="WebApplication2.SiteMaster" %>

<!DOCTYPE html>

<html lang="en">
<head runat="server">
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title><%: Page.Title %> - My ASP.NET Application</title>

    <asp:PlaceHolder runat="server">
        <%: Scripts.Render("~/bundles/modernizr") %>
    </asp:PlaceHolder>
    <webopt:BundleReference runat="server" Path="~/Content/css" />
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet" />
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
</head>
<body>
    <form runat="server">
        <div class="container body-content">
            <asp:ContentPlaceHolder ID="MainContent" runat="server">
            </asp:ContentPlaceHolder>
            <hr />
        </div>
    </form>
</body>
</html>

2. 默认.aspx

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    <div>
        Welche Tage sollen angezeigt werden:
    <asp:TextBox runat="server" ID="DisplayFromDateTextBox"></asp:TextBox>
        Bis
    <asp:TextBox runat="server" ID="DisplayToDateTextBox"></asp:TextBox>
        <asp:Button runat="server" ID="DisplayButton" Text="Anzeigen" />
    </div>

    <script type="text/javascript">
        $(document).ready(function () {
            $("#<%= DisplayFromDateTextBox.ClientID %>").datepicker();
            $("#<%= DisplayToDateTextBox.ClientID   %>").datepicker();
        });
    </script>
</asp:Content>

我希望这会帮助你@Thomas。

于 2019-05-13T07:45:37.487 回答