2013-06-03 15 views
6

Nie rozumiem, dlaczego to nie działa. Mam proste „input type =«date»” pole jako taki ....Ustaw wartość <typ wejściowy = "data" ... w jquery

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

I próbuję ustawić wartość na dzisiejszym dniem, gdy strona ładuje z tej funkcji ...

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); 
} 

Zrobiłem normalne debugowanie i wiem, że funkcja ta jest wywoływana i wiem, że zmienna "today" w rzeczywistości posiada dzisiejszą datę w postaci "yyyy-mm-dd". Próbowałem robić wszystkie różne typy formatów daty (dd/mm/rrrr, dd-mm-rrrr, itp.)

Każdy pomysł, dlaczego to nie działa?

+2

Spróbuj '$ (date) .val (dzisiaj) '. – elclanrs

+0

również, użyj 'prop'. 'attr' jest przestarzałe. – Colleen

+1

Ponadto, co to jest 'date' ?. Przypuszczam, że jest to już element DOM lub selektor, prawda? W przeciwnym razie '$ (data)' musi być problemem. – elclanrs

Odpowiedz

17

Dla wejścia wystarczy użyć .val()

Aby odczytać wartość

z=$(date).val(); 

Aby ustawić wartość

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

To działało. Dzięki – Hoser

+0

@Hoser .. Serdecznie zapraszamy :) –

+0

@Jeśli to zadziałało, powinieneś udzielić odpowiedzi na pytanie Sushanth. – Colleen

Powiązane problemy