datepicker的最小最大月份

时间:2015-01-29 13:16:34

标签: jquery datepicker

我有两个月份和年份选择器使用jquery ui datepicker我想限制第二个月和年份选择器将仅在第一个日期选择器的月份和年份之后选择我不知道它是否可能请如果可能的话,给我指导我的脚本如下

<script>
$(document).ready(
    function () {
      $( "#date1_in_id" ).datepicker({
        changeMonth: true,//this option for allowing user to select month
        changeYear: true, //this option for allowing user to select from year range
        dateFormat: "mm-yy",
        showButtonPanel: true,
        onClose: function(dateText, inst) { 
        var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
        var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
        $(this).datepicker('setDate', new Date(year, month, 1));
       }

      });
       $( "#date2_in_id" ).datepicker({
         changeMonth: true,//this option for allowing user to select month
        changeYear: true, //this option for allowing user to select from year range
        dateFormat: "mm-yy",           
        showButtonPanel: true,
        onClose: function(dateText, inst) { 
        var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
        var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
        $(this).datepicker('setDate', new Date(year, month, 1));
       }            
      });

    });

</script>
<style>.ui-datepicker-calendar{display: none;}</style>

2 个答案:

答案 0 :(得分:0)

您可以使用 minDate maxDate 来设置最短或最长日期。

此处提供更多信息:http://jqueryui.com/datepicker/#min-max

答案 1 :(得分:0)

当然你可以使用这个脚本,该人需要选择第一个日期选择器,之后可以在第一个日期选择器的日期之后选择第二个数据选择器。

首先替换onClose的第一个$(&#34;#date1_in_id&#34;):

     onClose: function( selectedDate ) {

        lafecha = selectedDate.split('-');
        fecha_alreves = lafecha[2]+'-'+lafecha[1]+'-'+lafecha[0];


        fecha = new Date(fecha_alreves);

        ayer = new Date(fecha);
        ayer.setTime(ayer.getTime() - 1000*60*60*24);
        dias = ayer.getDate();
        dias += 01;
        dia = ayer.getDay() + 1;
        mes = ayer.getMonth() + 1;
        anno = ayer.getFullYear() + 1;
        nuevafecha = mes+"-"+dias+"-"+anno;

        $( "#date2_in_id" ).datepicker( "option", "minDate", selectedDate );
        $( "#date2_in_id" ).datepicker( "option", "maxDate", nuevafecha );
    }

然后替换这个$的onClose(&#34;#date2_in_id&#34;)

    onClose: function( selectedDate ) {
        $( "#date1_in_id" ).datepicker( "option", "maxDate", selectedDate );
    }

我希望这对你有用