3

如何提醒所選日期名稱?例如「星期一」。jQuery:datepicker,提醒所選日期名稱

所以,當你挑選7日2011年6月它會提醒 「星期二」

<script> 
$(function() { 
    $("#date").datepicker({ 
    dateFormat: 'dd/mm/yy', 
    onSelect: function(dateText, inst) { 
    // how can i grab the day name of the day, example "Monday" and alert it out? 
    // alert(?); 
    } 
    }); 
}); 
</script> 

回答

11

jQueryUI的的日期選擇器帶有一個formatDate功能,可以爲你做的。如果您使用的是本地化版本,它也會以該語言顯示日期。

onSelect: function(dateText, inst) { 
    var date = $(this).datepicker('getDate'); 
    alert($.datepicker.formatDate('DD', date)); 
} 

有關Dapicker實用功能本地化的更多信息,請參閱http://jqueryui.com/demos/datepicker/

+0

注意: 'date' **必須是一個JavaScript **'Date'對象**,它由datepicker的'getDate()'提供。儘管如此,如果你的日期格式不是來自* datepicker,那可能就不那麼清楚了。如果你傳遞的只是字符串 - 你會得到像'b.getMonth不是函數'等有趣的錯誤... –

0

您可以分析這樣的(mm/dd/yyyy)日期:

new Date(Date.parse("06/07/2011")) 

,並使用.getDay功能。你可以這樣做:

// parse data 
var regexp = /(\d{2})\/(\d{2})\/(\d{2})/.exec("07/06/11"); 

//form date 
var date = new Date(Date.parse(regexp[2] + "/" + regexp[1] + "/20" + regexp[3])); 

alert(date.getDay()); // 2 -> Tuesday (starts at 0 = Sunday) 
1
<script> 
$(function() { 
    $("#date").datepicker({ 
     dateFormat: 'dd/mm/yy', 
     onSelect: function(dateText, inst) { 
     var weekday=new Array(7); 
     weekday[0]="Sunday"; 
     weekday[1]="Monday"; 
     weekday[2]="Tuesday"; 
     weekday[3]="Wednesday"; 
     weekday[4]="Thursday"; 
     weekday[5]="Friday"; 
     weekday[6]="Saturday"; 

     alert(weekday[inst.getDate().getDay()]; 
    } 
    }); 
}); 
</script> 
+0

inst.getDate()不是函數 – Karem

1

這一點,如果你不介意展示,如果你不喜歡它的一天,在輸入框中 的名稱將工作,你可以使用2隱藏在輸入(http://jqueryui.com/demos/datepicker/#alt-field

$(function() { 
    $("#date").datepicker({ 
    dateFormat: 'DD, d MM, yy', 
    onSelect: function(dateText, inst) { 
     var stop = dateText.indexOf(','); 
     alert(dateText.substring(0, stop)); 
    } 
    }); 
}); 

例子http://jsfiddle.net/aa74R/

0

使用內置的功能

$("#datepicker").datepicker({ onSelect: function(dateText, inst) { 

alert($.datepicker._defaults.dayNames[new Date(dateText).getDay()]); 

}});