根据给定月份填充具有周数的数组

时间:2014-08-14 09:40:24

标签: jquery

这就是我想要的东西但是当我在网上搜索时,没有回答,最终让我感到悲伤。现在这就是我想要发生的事情

我有一个下降,填补了几个月。我想要的是每当我选择1个月的月份下拉时,我想要另一个下降,如果所选择的月份下降有4个星期,我会将cal周期下降到填充(1,2,3,4) 1,2,3,4,5)如果采摘的月份有5周。

我不知道从哪里开始,完全不知道。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要先创建两个选择框,如下所示:

<select id="month">
    <option>Select Month</option>
    <option value="1">January</option>
    <option value="2">February</option>
    <option value="3">March</option>
<select>
<select id="weeks" style="display:none;"></select>

在您的Jquery代码中,您需要获取月份下拉列表的选定值,然后使用函数weekCount计算给定月份内给定月份的周数。然后只需在另一个下拉列表中填充选项。

function weekCount(year, month_number) {

    // month_number is in the range 1..12

    var firstOfMonth = new Date(year, month_number-1, 1);
    var lastOfMonth = new Date(year, month_number, 0);

    var used = firstOfMonth.getDay() + lastOfMonth.getDate();

    return Math.ceil( used / 7);
}
$('#month').change(function(){
    var selectedMonth = $(this).val();
    if(selectedMonth != "") {
        var totalWeeks = weekCount(2014, selectedMonth),
            optionsHtml = '';
        for(var i=1; i<=totalWeeks; i++) {
            optionsHtml += '<option>' + i + '</option>';   
        }
        $('#weeks').html(optionsHtml);
        $('#weeks').show();
    } else {
     $('#weeks').hide();   
    }
});

<强> DEMO