问题
I am using jQuery datepicker and I want to display out the date that the user is currently hovering over. I have the code below (you can also try the code with JSFiddle, http://jsfiddle.net/JGM85/):
$(function() {
$("#datepicker").datepicker();
$(".ui-state-default").live("mouseenter", function() {
$("h1").text($(this).text());
});
});
Currently when hovering over a date, the number of the date (ie. 23) is outputed to the h1 tags. I want to change this so that it outputs the whole date and stores it in a variable.
Any help with this would be appreciated.
回答1:
It's not the best way I did it, because I found nothing in the jQuery UI Datepicker documentation for getting the actual Date, but here you go:
$(function() {
$("#datepicker").datepicker();
$(".ui-state-default").on("mouseenter", function() {
$("h1").text($(this).text()+"."+$(".ui-datepicker-month",$(this).parents()).text()+"."+$(".ui-datepicker-year",$(this).parents()).text());
});
});
http://jsfiddle.net/JGM85/1/
The second version with saving the actual Date + alerting it afterwards:
$(function() {
$("#datepicker").datepicker();
$(".ui-state-default").on("mouseenter", function() {
$("h1").text($(this).text()+"."+$(".ui-datepicker-month",$(this).parents()).text()+"."+$(".ui-datepicker-year",$(this).parents()).text());
var actualDate=$('h1').text();
alert(actualDate);
});
});
http://jsfiddle.net/JGM85/2/
UPDATE: I previously had .live as an event handler but .live is no deprecated and .on() is the method to go.
来源:https://stackoverflow.com/questions/9838729/jquery-datepicker-hover-output-date