我在Dropdown列表中填写了所有月份,并且我正在启用当前月份并且将保持几个月将被禁用,例如
var date = new Date();
var month = new Date().getMonth() + 1;
var weeknum=//getting week number of the month
var options = $('#ddlMonth option');
var values = $.map(options, function (option) {
return option.value;
});
for (var i = 0; i <= values.length; i++) {
if (i > month) {
$("#ddlMonth option[value=" + i + "]").attr('disabled', true);
}
}
$('#ddlMonth').val(month);
现在我想要禁用月份,如果当前月份的当前周是第一周。
答案 0 :(得分:0)
function(){
var d = new Date();
d.setHours(0,0,0);
d.setDate(d.getDate()+4-(d.getDay()||7));
return Math.ceil((((d-new Date(d.getFullYear(),0,1))/8.64e7)+1)/7);
};
这将为您提供一年中的一周,这是简单的数学。 (每月5周可能不那么简单)。
或者您可以从这个小提琴中获取周数函数:http://jsfiddle.net/OlsonDev/5mXF6/1/(适用于5周,经过测试)
答案 1 :(得分:0)
Date.prototype.getMonthWeek = function(){
var firstDay = new Date(this.getFullYear(), this.getMonth(), 1).getDay();
return Math.ceil((this.getDate() + firstDay)/7);
}
演示
参考
http://www.somethinghitme.com/2010/04/14/how-to-get-the-week-in-a-month-for-a-date-with-javascript/