Как показать модальное всплывающее окно, когда я выбираю будущие или прошедшие даты в jQuery datepicker? - PullRequest
0 голосов
/ 14 октября 2019

Как показать модальное всплывающее окно, когда я выбираю будущие и прошедшие даты в jQuery DatePicker. Я использую datepicker v1.12.1 и jQuery v3.3.1

Я нашел один способ в Интернете, но это не последняя версия jQuery. Так что это не работает для меня ..

Пример скрипта здесь

Вот мой пример скрипки

$("#datepicker").datepicker();

$("#datepicker").change(function(){
     var date = $(this).val();
    $('<div>' + date + '</div>').dialog();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="datepicker">

Примечание: Модальное всплывающее окно, например: «Вы выбираете будущие даты, хотите продолжить? Да или нет. "вот так.

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Попробуйте ниже код, это будет работать.

<!Doctype>
<html>
    <head>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.css" integrity="sha256-n3ci71vDbbK59GUg1tuo+c3KO7+pnBOzt7BDmOe87s4=" crossorigin="anonymous" />
        <script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.js" integrity="sha256-KgOC04qt96w+EFba7KuNt9sT+ahJua25I0I2rrkZHFo=" crossorigin="anonymous"></script>
    </head>
    <body>
        <div class="container">
            <input type="text" id="datepicker">
            <div id="myModal" class="modal fade" role="dialog">
                <div class="modal-dialog">

                    <!-- Modal content-->
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal">&times;</button>
                            <h4 class="modal-title">Modal Header</h4>
                        </div>
                        <div class="modal-body">
                            <p>Some text in the modal.</p>
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                        </div>
                    </div>

                </div>
            </div>
        </div>
        <script>
        $(document).ready(function (e) {
            $("#datepicker").datepicker().on("change", function (e) {
                var today = new Date();
                var date = (today.getMonth() + 1) + "/" + (today.getDate()) + "/" + (today.getFullYear());
                $('#myModal').modal('show');
                if ($(this).val() == date) {
                    $(".modal-body p").html("You have selected today");
                } else if ($(this).val() < date) {
                    $(".modal-body p").html("You have selected past date");
                } else {
                    $(".modal-body p").html("You have selected future date");
                }
            });
        });
    </script>
    </body>
</html>
1 голос
/ 14 октября 2019

Привет, вы можете использовать обычное всплывающее окно java-script, чтобы показать ваш вывод.

<div id="datepicker" style="font: 80% 'Trebuchet MS', sans-serif;"></div>
<!-- The Modal -->
<div id="myModal" class="modal">

  <!-- Modal content -->
  <div class="modal-content">
    <span class="close">&times;</span>
    <p id="body">Some text in the Modal..</p>
  </div>

</div>

 $("#datepicker").datepicker();

$("#datepicker").change(function(){
     var date = $(this).val();
     $("#body").html("You have selected future date:"+ date);
     modal.style.display = "block";
});

// Get the modal
var modal = document.getElementById("myModal");

// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];



// When the user clicks on <span> (x), close the modal
span.onclick = function() {
  modal.style.display = "none";
}

// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
  if (event.target == modal) {
    modal.style.display = "none";
  }
}

function isFutureDate(idate){
var today = new Date().getTime(),
    idate = idate.split("/");

idate = new Date(idate[2], idate[1] - 1, idate[0]).getTime();
return (today - idate) < 0 ? true : false;
}

Здесь работает пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...