2013-06-03 22 views
6

Non capisco perché questo non funziona. Ho un semplice 'input type = 'data'' campo come tale ....Impostare il valore di <input type = "date" ... in jquery

<input type="date" name="Date"/> 

E io sto cercando di impostare il valore per l'odierna data ogni volta che la pagina viene caricata con questa funzione ...

function setDate(date){ 
    z=$(date).attr('value'); 

    var today = new Date(); 
    var dd = today.getDate(); 
    var mm = today.getMonth()+1; //January is 0! 

    var yyyy = today.getFullYear(); 
    if(dd<10){dd='0'+dd} 
    if(mm<10){mm='0'+mm} 
    today = yyyy+'-'+mm+'-'+dd;  

    $(date).attr('value',today); 
} 

ho fatto il debug normale e so che questa funzione viene chiamata e so che la variabile 'oggi' in effetti la data attesa oggi nella forma 'aaaa-mm-dd'. Ho provato a fare tutti i diversi tipi di formati di data (gg/mm/aaaa, gg-mm-aaaa, ecc.)

Qualche idea sul perché questo non funziona?

+2

Prova '$ (data) .VAL (oggi) '. – elclanrs

+0

anche, usare 'prop'. 'attr' è deprecato. – Colleen

+1

Inoltre, che cosa è "date" ?. Suppongo che sia già un elemento DOM o un selettore, giusto? Altrimenti '$ (date)' deve essere il problema. – elclanrs

risposta

17

Per l'ingresso basta usare .VAL()

Per leggere il valore

z=$(date).val(); 

Per impostare il valore

$(date).val(today); 
+0

Questo ha funzionato. Grazie – Hoser

+0

@Hoser .. Siete i benvenuti :) –

+0

@Hoser se ciò funzionasse dovresti dare a Sushanth un credito di risposta. – Colleen

4
$('input[name=Date]').val(today); 
+0

questo ha funzionato per me grazie – techieWings

Problemi correlati