【问题标题】:Get date before current date in datepicker在日期选择器中获取当前日期之前的日期
【发布时间】:2016-06-17 02:03:13
【问题描述】:

我有一个加载当前日期的日期选择器。但是,我试图弄清楚如何确定用户选择的日期是否在当前日期之前并显示一条消息。我怎么能做到这一点?谢谢!

function LoadSelectedEvents()
{
    $.ajax({
        type: 'GET',
        url: fullURL,
        dataType: 'xml',
        beforeSend:
            function () {
                ShowLoading();

            },
        success:
            function (xml) {
                HideLoading();

                //bring jquerypaging in
                $.getScript("../js/jqueryPaging.js");

                //initialize our datepicker
                $("#datepickercalendar").datepicker({
                    dateFormat: 'DD, MM dd, yy',
                    minDate: 0,
                    onSelect: function (dateText, inst) {
                        var dateAsString = dateText;
                        var dateAsObject = $(this).datepicker('getDate');
                        $(".easyPaginateNav").empty();
                        //ajax call on user select
                        $.ajax({
                            type: 'GET',
                            url: fullURL,
                            dataType: 'xml',
                            beforeSend: function () {
                                ShowLoading();
                                $("#EventListHeaderDate").empty();
                                $("#feedContainer").empty();
                            },
                            complete: function () {
                                HideLoading();
                            },
                            success: function (xml) {



                                //clear results
                                $("#feedContainer").empty();
                                var index = 0;

                                $("#EventListHeaderDate").text(dateAsString);

                                //find each ITEM and display
                                $(xml).find("item").slice(0, maxItems).each(function () {

                                    //find matches based on date
                                    var title = $(this).find("title").text();
                                    var itemDate = $(this).find("date").text();
                                    var itemTime = $(this).find("time").text();
                                    //alert(index);

                                    if (dateText == itemDate) {

                                        $("#feedContainer").fadeIn();
                                        $("#feedContainer").append("<div id='event'>" + "<span id='event-title'>" + title + "</span><br>" +
                                                    "<span id='event-date'>" + itemDate + "</span><br>" + "<hr></div>" + "");


                                        index++;
                                    }
                                });

                                if (index == 0) {
                                    $("#feedContainer").empty();
                                    $("#feedContainer").append("No Events for this Date.");
                                }


                                $("#feedContainer").easyPaginate({
                                    paginateElement: 'div#event',
                                    elementsPerPage: 2,
                                    effect: 'climb'
                                });

                                HideLoading();

                            }


                        });

                    }
                    //altField: "#EventListHeaderDate"
                }); //end datepicker initialization

                var index = 0;

                //our current date of datepicker in a variable
                var currentDate = $("#datepickercalendar").datepicker().val();
                $('#EventListHeaderDate').text(currentDate); //update header to reflect current (todays) date

                //parse XML
                $(xml).find("item").slice(0, maxItems).each(function () {


                    //find matches based on date
                    var title = $(this).find("title").text();
                    var itemDate = $(this).find("date").text();
                    var itemTime = $(this).find("time").text();



                    if (currentDate == itemDate) {
                        index++;
                        //alert(index);
                        $("#feedContainer").fadeIn();
                        $("#feedContainer").append("<div id='event'>" + "<span id='event-title'>" + title + "</span><br>" +
                                                    "<span id='event-date'>" + itemDate + "</span><br>" + "</div>" + "<hr>");
                    }
                });

                if (index == 0) {
                    $("#feedContainer").empty();
                    $("#feedContainer").append("No Events for this Date.");
                }

                //and paginate the results
                $("#feedContainer").easyPaginate({
                    paginateElement: 'div#event',
                    elementsPerPage: 2,
                    effect: 'climb'
                });

            },
        error: function () { $("#loading").replaceWith("Error: Could not fetch events"); }

    });       //end first ajax

}

【问题讨论】:

  • 显示您的 html 和 javascript 代码
  • 我正在使用 Mindate,但仍想知道如何在关闭时完成此操作。
  • 获取用户选择数据的输入值并创建一个函数来验证它的数据是最后一个,然后是正确的数据

标签: jquery ajax datepicker


【解决方案1】:

好吧,您应该让用户记住,但正如您所说,您不想这样做 html代码

<input id='datapicker' value="06/15/2016"> 

java脚本代码

<script>

function data_checker(){
    var input_data= $("#datapicker").val();
    if(Date.parse(input_data)-Date.parse(new Date()) < 0){
        alert("data too old");
    }

}
data_checker();
</script>

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-05
  • 2014-03-23
  • 1970-01-01
  • 2016-08-05
相关资源
最近更新 更多