2011-01-11 2 views
7

Sto utilizzando il plug-in Datepicker dell'interfaccia utente Jquery, sto cercando di ottenere il giorno, il mese e l'anno selezionati da DatePicker in diverse variabili (la soluzione finale è assegnare tutti e 3 variabili ai campi nascosti).Come ottenere giorno/mese e anno selezionati da jquery datepicker

Ecco il codice:

 $(function() { 
     $("#_StartDate").datepicker(
      { 
       onSelect: function(dateText, inst) { 
        var startDate = new Date(dateText); 
        var selDay = startDate.getDay(); 
        alert(selDay); 
       } 
      } 
     ); 
    }); 

ho selezionato la data "1/10/2011" e restituisce "1". Ho selezionato la data "1/25/2011" e restituisce "2". Cosa sto facendo di sbagliato qui?

Grazie per il vostro aiuto!

+0

quello jquery formato sta tornando la data in datetext variabile? Potrebbe essere il buttare via l'oggetto Date. – Fahad

risposta

19

getDay tornare il giorno della settimana :)

È possibile utilizzare:

getFullYear per l'anno
getDate il giorno del mese
getMonth il mese del anno

Segue un elenco completo dei getter (da DevDocs):

Date.prototype.getDate() Restituisce il giorno del mese (1-31) per la data specificata in base all'ora locale.
Date.prototype.getDay() Restituisce il giorno della settimana (0-6) per la data specificata in base all'ora locale.
Date.prototype.getFullYear() Restituisce l'anno (4 cifre per gli anni a 4 cifre) della data specificata in base all'ora locale.
Date.prototype.getHours() Restituisce l'ora (0-23) nella data specificata in base all'ora locale.
Date.prototype.getMilliseconds() Restituisce i millisecondi (0-999) nella data specificata in base all'ora locale.
Date.prototype.getMinutes() Restituisce i minuti (0-59) nella data specificata in base all'ora locale.
Date.prototype.getMonth() Restituisce il mese (0-11) nella data specificata in base all'ora locale.
Date.prototype.getSeconds() Restituisce i secondi (0-59) nella data specificata in base all'ora locale.
Date.prototype.getTime() Restituisce il valore numerico della data specificata come il numero di millisecondi dal 1 gennaio 1970, 00:00:00 UTC (negativo per i tempi precedenti).
Date.prototype.getTimezoneOffset() Riporta lo scostamento fuso orario in minuti per le impostazioni internazionali correnti.
Date.prototype.getUTCDate() Restituisce il giorno (data) del mese (1-31) nella data specificata in base all'ora universale.
Date.prototype.getUTCDay() Restituisce il giorno della settimana (0-6) nella data specificata in base all'ora universale.
Date.prototype.getUTCFullYear() Restituisce l'anno (4 cifre per gli anni a 4 cifre) nella data specificata in base all'ora universale.
Date.prototype.getUTCHours() Restituisce le ore (0-23) nella data specificata in base all'ora universale.
Date.prototype.getUTCMilliseconds() Restituisce i millisecondi (0-999) nella data specificata in base all'ora universale.
Date.prototype.getUTCMinutes() Restituisce i minuti (0-59) nella data specificata in base all'ora universale.
Date.prototype.getUTCMonth() Restituisce il mese (0-11) nella data specificata in base all'ora universale.
Date.prototype.getUTCSeconds() Restituisce i secondi (0-59) nella data specificata in base all'ora universale.
Date.prototype.getYear() Restituisce l'anno (in genere 2-3 cifre) nella data specificata in base all'ora locale. Usa invece getFullYear() **.

+0

Impara qualcosa di nuovo ogni giorno;) grazie! – TheWebGuy

3

suo solo ritorno .getDay() (giorno della settimana 0-6), è necessario fare qualcosa di simile:

var selDay = ... 
var selMon = startDate.getMonth(); 
var selYear = startDate.getYear(); 

Riferimento: http://www.w3schools.com/jsref/jsref_obj_date.asp

NOTA

prestare particolare attenzione a cosa viene restituito, getDay() -> 0-6 getMonth() -> 0-11, ecc. tutto nel riferimento che ho fornito.

0

Per afferrare val dal campo di inserimento:

var start_date=$('input#start_date').val();