Pergunta

Eu estou usando o controle datepicker para jQuery e está tudo bem, exceto que eu não posso obtê-lo para destacar o valor de entrada actualmente seleccionado (ou a data atual para que o assunto). Mesmo que eu tenha s valor de data válida na minha entrada de texto e pode obter o datepicker para retornar o mês / ano correto, eu não posso obtê-lo para destacar essa data no calendário.

Aqui está o meu código:

$('.date_picker').datepicker({ dateFormat: 'dd/mm/yy', duration: '', gotoCurrent: true, defaultDate: -1});

.. e aqui é a folha de estilo:

/*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;
}

Eu estou usando IE7 para testar, mas eu vejo o mesmo comportamento no Firefox.

Todas as ideias quanto ao problema?

Foi útil?

Solução

Em primeiro lugar, qual navegador (s) que você está visualizando o datepicker em? Tenho notado que alguma coloração de datas / seções dentro do diferente datepicker olhar em IE6 em comparação com os navegadores posteriores ( Firefox 3, Chrome, IE7 ).

Por exemplo, IE6 parece ignorar a cor de fundo para dias de semana.

A cor da data atualmente selecionada ea data de hoje fundo são controladas através de CSS. O CSS padrão para o última datepicker é o estilo flora principal folha , embora eu veja que há um nova versão / estilo do datepicker (eu não tive uma leitura adequada, no entanto, eu acredito que pode ser uma nova versão) no jQuery local esta semana.

Os nomes padrão relevantes das classes dentro do estilo que você precisa alterar as cores de fundo para são -

 /* current input value background color */
.ui-datepicker-current-day
{
    background: #83C948
}
/* today's background color */
.ui-datepicker-today 
{
    background: #83C948
}

EDIT:

Se você estiver usando o velho Datepicker como é , então estas são as linhas relevantes no plugin de js arquivo -

this._currentClass = 'ui-datepicker-current-day'; 
// The name of the current day marker class


(printDate.getTime() == today.getTime() ? ' ui-datepicker-today' : '')) + '"' + ...
// highlight today (if different)

Portanto, você quer

  • precisam dessas classes CSS em sua CSS estilo de destaque hoje e data atualmente selecionado

ou

  • você precisará alterar os nomes em o plugin js arquivo e usar o mesmo nomes para classes em seu CSS stylesheet

Pessoalmente, eu optaria pela primeira vez que são eles estão os nomes das classes comumente conhecidas.

EDIT 2:

Parece CSS que os novos usos datepicker ligeiramente diferente para corrente selecionada cor data ea data de hoje . Considerando que a versão anterior estilo da célula da tabela ( td ) elemento, os novos estilos de versão a âncora ( a ) elemento dentro da célula.

Usando Firebug no Firefox 3 (altamente recomendado), o CSS a cor hoje parece ser

.ui-state-highlight, .ui-widget-content .ui-state-highlight 
{
    background:#FFE45C url(../images/?new=ffe45c&w=1&h=100&f=png&q=100&fltr[]=over|textures/03_highlight_soft.png|0|0|75) repeat-x scroll 50% top;
    border:1px solid #FED22F;
    color:#363636;
}

e a data atual selecionado na entrada para, é

.ui-state-active, .ui-widget-content .ui-state-active 
{
    background:#FFFFFF url(../images/?new=ffffff&w=1&h=400&f=png&q=100&fltr[]=over|textures/02_glass.png|0|0|65) repeat-x scroll 50% 50%;
    border:1px solid #FBD850;
    color:#EB8F00;
    font-weight:bold;
    outline-color:-moz-use-text-color;
    outline-style:none;
    outline-width:medium;
}

Estes dois vêm do jQuery UI CSS Framework

Outras dicas

Esta é a melhor solução:

enter descrição da imagem aqui

campo de entrada, selecione semana.

https://github.com/Prezent/jquery-weekpicker

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top