J'utilise le contrôle datepicker pour jquery et tout va bien sauf que je ne peux pas l'obtenir pour mettre en évidence la valeur d'entrée actuellement sélectionnée (ou la date actuelle d'ailleurs). Même si j'ai une valeur de date valide dans ma saisie de texte et que je peux obtenir que le sélecteur de date retourne le bon mois/année, je ne peux pas l'obtenir pour surligner cette date sur le calendrier.JQuery DatePicker, comment mettre en surbrillance la date de valeur d'entrée actuelle?
Voici mon code:
$('.date_picker').datepicker({ dateFormat: 'dd/mm/yy', duration: '', gotoCurrent: true, defaultDate: -1});
..et est ici la feuille de style:
/*datepicker*/
/* Main Style Sheet for jQuery UI date picker */
.ui-datepicker-div, .ui-datepicker-inline, #ui-datepicker-div {
/*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
font-family: Verdana, Arial, sans-serif;
background: #ffffff url(images/ffffff_40x100_textures_01_flat_0.png) 0 0 repeat-x;
font-size: 0.80em;
border: 4px solid #dddddd;
width: 15.5em;
padding: 2.5em .5em .5em .5em;
position: relative;
}
.ui-datepicker-div, #ui-datepicker-div {
z-index: 9999; /*must have*/
display: none;
}
.ui-datepicker-inline {
float: left;
display: block;
}
.ui-datepicker-control {
display: none;
}
.ui-datepicker-current {
display: none;
}
.ui-datepicker-next, .ui-datepicker-prev {
position: absolute;
left: .5em;
top: .5em;
background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;
}
.ui-datepicker-next {
left: 14.6em;
}
.ui-datepicker-next:hover, .ui-datepicker-prev:hover {
background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
}
.ui-datepicker-next a, .ui-datepicker-prev a {
text-indent: -999999px;
width: 1.3em;
height: 1.4em;
display: block;
font-size: 1em;
background: url(images/888888_7x7_arrow_left.gif) 50% 50% no-repeat;
border: 1px solid #d3d3d3;
cursor: pointer;
}
.ui-datepicker-next a {
background: url(images/888888_7x7_arrow_right.gif) 50% 50% no-repeat;
}
.ui-datepicker-prev a:hover {
background: url(images/454545_7x7_arrow_left.gif) 50% 50% no-repeat;
}
.ui-datepicker-next a:hover {
background: url(images/454545_7x7_arrow_right.gif) 50% 50% no-repeat;
}
.ui-datepicker-prev a:active {
background: url(images/222222_7x7_arrow_left.gif) 50% 50% no-repeat;
}
.ui-datepicker-next a:active {
background: url(images/222222_7x7_arrow_right.gif) 50% 50% no-repeat;
}
.ui-datepicker-header select {
border: 1px solid #d3d3d3;
color: #555555;
background: #e6e6e6;
font-size: 1em;
line-height: 1.4em;
position: absolute;
top: .5em;
margin: 0 !important;
}
.ui-datepicker-header option:focus, .ui-datepicker-header option:hover {
background: #dadada;
}
.ui-datepicker-header select.ui-datepicker-new-month {
width: 7em;
left: 2.2em;
}
.ui-datepicker-header select.ui-datepicker-new-year {
width: 5em;
left: 9.4em;
}
table.ui-datepicker {
width: 15.5em;
text-align: right;
}
table.ui-datepicker td a {
padding: .1em .3em .1em 0;
display: block;
color: #555555;
background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;
cursor: pointer;
border: 1px solid #ffffff;
}
table.ui-datepicker td a:hover {
border: 1px solid #999999;
color: #212121;
background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
}
table.ui-datepicker td a:active {
border: 1px solid #dddddd;
color: #222222;
background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;
}
table.ui-datepicker .ui-datepicker-title-row td {
padding: .3em 0;
text-align: center;
font-size: .9em;
color: #222222;
text-transform: uppercase;
}
table.ui-datepicker .ui-datepicker-title-row td a {
color: #222222;
}
.ui-datepicker-cover {
display: none;
display/**/: block;
position: absolute;
z-index: -1;
filter: mask();
top: -4px;
left: -4px;
width: 193px;
height: 200px;
}
J'utilise IE7 pour tester, mais je vois le même comportement dans Firefox.
Des idées sur le problème?
Hi Russ. Merci pour votre aide. J'ai regardé ma feuille de style datapicker, et je ne semble pas avoir les sélecteurs de classe que vous avez énumérés? J'ai essayé de les ajouter au fichier CSS sans trop de chance. Je crois que j'utilise le dernier datepicker, et le reste du contrôle semble stylé correctement. – BrynJ
Utilisez Firebug dans Firefox pour essayer de voir quels sont les styles de la date actuelle. La réponse de Russ est correcte, j'ai trouvé ces deux noms de classe en regardant Firebug et j'ai pu mettre en surbrillance la date actuelle et la date sélectionnée. –
Merci pour toute l'aide. J'ai réussi à faire le tri, comme vous dites, il semble que l'élément d'ancrage est maintenant stylisé, plutôt que la cellule de table. Bizarrement, vos noms de classes d'éléments d'origine sont les bons pour mon datpicker - ce qui implique que c'est une sorte d'hybride mais, bon, ça marche! :) – BrynJ