在jQuery UI datepicker中获取选定月份中的天数

时间:2018-11-12 12:02:52

标签: javascript jquery jquery-ui datepicker

我正在使用JqueryUI datepicker。我想计算所选月份的天数并显示在文本框中。

$(function() {
    $('.date-picker').datepicker( {
        changeMonth: true,
        changeYear: true,
        showButtonPanel: true,
        dateFormat: 'MM yy',
        onClose: function(dateText, inst) { 
            $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
        }
    });
});
.ui-datepicker-calendar {
    display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css" rel="stylesheet"/>


<label for="startDate">Date :</label>
<input name="startDate" id="startDate" class="date-picker" />
<input name="noofdays" id="noofdays" />

1 个答案:

答案 0 :(得分:1)

在日期选择器中更改月份或年份时,将使用onChangeMonthYear回调。 For reference

此外,在包含Jquery之后,还要包含Jquery UI。

$('.date-picker').datepicker({
    changeMonth: true,
    changeYear: true,
    showButtonPanel: true,
    dateFormat: 'MM yy',
    onClose: function(dateText, inst){
        var year = inst.selectedYear, month = inst.selectedMonth+1;
        $(this).datepicker('setDate', new Date(year, month, 0));
        $("#noofdays").val(new Date(year, month, 0).getDate())
    },
    onChangeMonthYear:function(year, month, date){
        $("#noofdays").val(new Date(year, month,0).getDate());
    }
});
.ui-datepicker-calendar {
    display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css" rel="stylesheet"/>

<label for="startDate">Date :</label>
<input name="startDate" id="startDate" class="date-picker" />
<input name="noofdays" id="noofdays" />