2012-02-20 18 views
14

Desidero disattivare un intervallo di date nel calendario di Joomla. Possono essere selezionati solo i giorni rimanenti. Non ho idea di come farlo. Aiuto Plz.disabilita l'intervallo di date nel calendario Joomla

ad es. Se dico 2012-2-20 a 2012-3-20 allora solo i giorni in questo intervallo possono essere selezionati tutti gli altri devono essere disabilitati (o non possono selezionare).

Joomla Calendario Doc http://docs.joomla.org/API16:JHtml/calendar

+3

Questo non è affatto facile, ma [vedi questo] (http://technologymisc.wordpress.com/2011/08/17/joomla-hide-past-days-from-calendar-control/) per un po 'di codice correlato. –

+3

@Fnatte Grazie, lo controllerò. – Sara

+2

Cosa stai cercando di fare in modo specifico? Probabilmente starai meglio scrivendo qualcosa di personalizzato per questo. –

risposta

0

Quello che vorrei fare è aggiungere un piccolo frammento di codice JavaScript in cui ogni volta che si dispone di un evento su sfocatura su tale ingresso si recupera il valore, controllare se è > 2012-2-10 && < 2012-3-10 e se non si cancella il valore di quell'input.

0

Ho riscontrato un problema simile con diversi siti Joomla che gestisco. Stavo già usando jQuery, quindi ho deciso di andare con JQuery UI Datepicker che ha una funzione di data min/max facile da usare. Se stai già utilizzando queste librerie, o se sei disposto a 1) aggiungerle e 2) potenzialmente rovinare la tua unità di progettazione, lo consiglierei.

+0

Sì, ho provato a passare molto tempo con il calendario di Joomla ma non ci sono riuscito. Quindi ho dovuto usare JQuery UI Datepicker per farlo ma ancora pensando e sperando di fare la stessa cosa usando il calendario di joomla. – Sara

+0

@Sara fammi sapere se lo fai ... Anch'io vorrei una soluzione nativa sui miei siti Joomla. – Benmj

1

Set minDate e maxDate per la data limite, vale a dire

$("#start_date").datepicker({ 
    dateFormat:'yy-mm-dd', 
    showOn: 'button', 
    buttonImageOnly: true, 
    minDate: newmindate , 
    maxDate: newmaxdate 
}); 

Impostare la variabile newmindate e newmaxdate.

0
<div> 
    <input name="StartDate" id="StartDate" type="text" readOnly="readonly" data-val-required="The From field is required." data-val="true" jQuery15106987620498322786="53"/> 
    <input name="EndDate" id="EndDate" type="text" readOnly="readonly" data-val-required="The To field is required." data-val="true" jQuery15106987620498322786="54"/> 
</div> 

$(function() { 
    var dates = $("#StartDate, #EndDate").datepicker({ 
     defaultDate: "+1w", 
     changeMonth: true, 
     changeYear: true, 
     numberOfMonths: 1, 
     minDate:0, 
     dateFormat: 'dd/mm/yy', 
     onSelect: function (selectedDate) { 
      var option = this.id == "StartDate" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"), 
        date = $.datepicker.parseDate(
         instance.settings.dateFormat || 
         $.datepicker._defaults.dateFormat, 
         selectedDate, instance.settings); 
      dates.not(this).datepicker("option", option, date); 
     } 

    }); 
}); 
0

3 anni dopo che la tua domanda e il campo del calendario in Joomla non possono ancora farlo. Tuttavia, è possibile impostare un anno minimo e un anno massimo (ma non un mese minimo e un mese massimo) semplicemente modificando il file media/system/js/calendar.js e modificando i valori di this.minYear e this.maxYear con i valori desiderati.

Problemi correlati