2011-07-23 16 views
8

Chcę, aby użytkownik określił datę urodzenia lub rocznicę (bez roku) w formularzu. W tym celu chcę użyć datepicker jquery, ale nie powinien w ogóle pokazywać opcji roku. Jak to zrobić?Datepicker Jquery - tylko dzień i miesiąc

Próbowałem zmodyfikować kod w this so question, tworząc changeDay: true i changeYear: false, ale nie mogłem go uruchomić.

Odpowiedz

10

ustawić css, aby ukryć lat i dateformat jak K6t powiedział

.ui-datepicker-year{ 
    display:none; 
} 
+0

Jak odróżnić wybrany selektor dat od innych datepickerów? – emfi

+0

Dla datepickerów kartain można go użyć wewnątrz .focus, zobacz: http://stackoverflow.com/a/41931400/3412696 – Rafi

+0

Nie jest zalecane, użyj config zamiast zobacz https://stackoverflow.com/a/6799216/5277245 – Mehrdad

0

zmiana dateformat jak

dateFormat: 'dd MM', 

w datePicker.js złożyć

+5

Nie edytuj kodu datepaksu, jeśli możesz po prostu użyć opcji. – Walf

11

Można zrobić:

$('#date').datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     showButtonPanel: true, 
     dateFormat: 'dd MM' 
    }); 

f iddle http://jsfiddle.net/u8GnD/1/

+0

to nie działa. rok nie zmienia się po wybraniu przyszłej daty. – Ravi

+0

Twój dzisiejszy przycisk nie działa, jak go uruchomić –

+0

Pamiętaj, aby zmienić atrybut wejścia html na readonly, w przeciwnym razie możesz ręcznie zmienić wartość wejściową. – daino3

0
$("#datepicker").datepicker({ 
format: "dd-MM", 
viewMode: "months", 
maxViewMode: "months" 
}); 

to na pewno ukryć lat od datepicker widzenia, pokaże tylko miesiąc i dzień panel

+0

Te nie wydają się być poprawnymi parametrami dla datepicker jQuery UI. – Berend

3

Można ukryć roku z datepicker jak ten:

$(".daypicker").datepicker({ 
    changeYear: false, 
    dateFormat: 'MM-dd', 
}).focus(function() { 
    $(".ui-datepicker-year").hide(); 
}); 

przyzwyczajenie wpływa na inne datepickery na tej samej stronie.

+0

To działa w przypadku .on() i .off(), aby uczynić go tymczasowo hiddable – Samuel

1
$(function() { 
    var date = $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     changeMonth: true, 
     changeYear: false}).val(); 
}); 
+2

Zawsze dodawaj wyjaśnienia do swojej odpowiedzi. Ten kod nie pomaga. –

+1

Ta odpowiedź może, ale nie musi, rozwiązać problem z doświadczeniem OP, więc zawsze dodaj wyjaśnienie, aby wyjaśnić, w jaki sposób może rozwiązać problem. –

Powiązane problemy