如何在选择日期后阻止日期选择器关闭?

时间:2017-01-19 12:00:30

标签: javascript java jquery datepicker struts2

有一个非常重要的问题让我陷入困境,我无法在任何地方找到合适的解决方案。

如何在选择日期后阻止jquery datepicker关闭?当我点击日期选择器对话框上的取消或继续按钮时,我只希望它关闭。

基本上,我希望在服务器端代码中提取的datepicker上显示结束日期。这应该在我选择了开始日期并且服务器对其进行一些处理后显示。然后,当我完成后,我可以点击取消或继续,具体取决于我的选择。

这是我的代码:

$("#StartDate").datepicker({
    changeYear: true,
    inline: true,
    minDate: defaultDate,
    beforeShowDay: noWeekendsOrHolidays_document_Scope,
    showButtonPanel: true,
    showOn: "button",
    buttonImage: appRoot + "/images/calendar.gif",
    buttonImageOnly: true,
    onSelect: function(selectedDate,inst){
        var expectedDtFromAcc = $("#fromAcc").val();
        var expectedDtToAcc = $("#toAcc").val();
        var tStartDate = selectedDate;
        $.ajax({
              method: "POST",
              cache: false,
              url: encodedGetDtUrl,
              data: { tStartDate: tStartDate, expectedDtFromAcc : expectedDtFromAcc ,
                  expectedDtToAcc : expectedDtToAcc }
        }).done(function(output){

            if(output.expectedDate !== null){
                $("#expectedDelDate").val(output.expectedDate);
            }

            var to = $("#expectedDelDate").val();
            var expectedDelDate = toDate(to);

             $("#StartDate").datepicker("option","maxDate",expectedDelDate);
        });
    },
})
.val(defaultDate);

请帮帮我!

顺便说一句,我使用的是Jquery UI v1.12。

2 个答案:

答案 0 :(得分:0)

您可以添加:

$('#StartDate').datepicker({
    autoclose: false
});

答案 1 :(得分:0)

你可以尝试一下。



$( function(){
  
   $( "#stard_date" ).datepicker({
     onSelect : function(text, obj) {
       
       $( "#end_date" ).show();
       $( "#end_date" ).datepicker({
         defaultDate : '01/09/2017',
       });              
     }, 
     beforeShow : function( inputEle, obj ){
       
       $( "#end_date" ).hide();
     }
   } );
} );

<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>


<div>From: <input type="text" id="stard_date"><div id="end_date" style="display : none;margin-left : 5%; margin-top: 3px;"></div></div>
&#13;
&#13;
&#13;