DatePicker не показывает календарь в IE11 - PullRequest
1 голос
/ 09 мая 2019

В настоящее время у меня проблемы с датчиком в IE11. Когда я нажимаю на свое текстовое поле, оно работает по крайней мере настолько, что в правом конце текстового поля отображается «x», чтобы удалить его содержимое. НО сам календарь не отображается.

Когда я попытался использовать textmode = "DATE" вместо jquery datapicker, это привело к тому же конечному результату. Я использую макет master / content, а импорт 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 следующим образом:

Редактировать: когда я щелкаю в текстовое поле (первое), эффект выглядит так, как показано на рисунке ниже: enter image description here

Обновление: когда я удалил лишние части функции готовности, как предложено в комментариях, я сделал несколько ошибок. После их исправления я получил ошибку .js при выполнении команды ready: $("#MainContent_DisplayFromDateTextBox").datepicker(); возвращает ошибку о том, что объект или метод не поддерживает средство выбора даты. Эта последняя проблема возникла из-за вмешательства автоматически созданной ссылки на скрипт в jquery, что привело к сбою ручного включения jquery.

Ответы [ 2 ]

1 голос
/ 13 мая 2019

Вы можете попробовать это следующим образом

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. Default.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>

Надеюсь, это тебе поможет @ Томас.

1 голос
/ 13 мая 2019

HTML: добавлен атрибут CssClass в текстовых полях from и to:

 <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>

Спасибо

...