我试图在具有单个表格视图的日期选择器中显示当天的最后35天。其余的日期不应该是可见的。 例如,对于2014年7月25日,datepicker应该是这样的。
SUN MON TUE WED THU FRI SAT
21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25
编写了Java代码here。
我尝试将jquery-ui.js中的numRows增加到6,但它只添加下个月而不是上个月的行,如下所示:
请帮忙。谢谢!
答案 0 :(得分:1)
尝试defaultDate
选项:
$(function () {
var $datePicker = $("#datepicker");
$datePicker.datepicker({
defaultDate: "-34d",
minDate: "-34",
maxDate: "0",
showOtherMonths: true,
selectOtherMonths: true,
onSelect: function (date) {
alert(date + " selected");
}
});
alert($datePicker.datepicker("getDate"));
});
呈现:
答案 1 :(得分:0)
终于明白了。感谢Palpatim对defaultDate的想法。
Datepicker功能:
$(function() {
$( "#datepicker" ).datepicker({
minDate:"-34",
defaultDate: "-34d",
maxDate:"0",
showOtherMonths: true,
selectOtherMonths: true,
onSelect: function(date) {
alert(date);
}
});
});
在jquery-ui.js中进行了两处更改
注释updateDatePicker以防止重置datepicker。
numRows = 12;
// this._updateDatepicker(研究所);
然后删除不需要的行,如下所示:
function doTheMagic(){
$tr=$(".ui-datepicker-calendar tbody tr");
for(i=0;i<$tr.length;i++){
$f=0;
$($tr[i]).find("td").each(function(f){
if($(this).attr("class").indexOf("disabled")<0)
{
$f=1;
return false;
}
});
if($f==0)
$($tr[i]).remove();
}
$("td[class=' ui-datepicker-unselectable ui-state-disabled '], td[class=' ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled '], td[class=' ui-datepicker-week-end ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled '], td[class=' ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled ']").each(
function(){$(this).empty();}
);
}
我想要的是:
这里是JSFiddle