Błąd podczas tworzenia łącza „<poprzednia” i „następna>” (data) dla datepicker jQueryUI przy użyciu setdate
Próbuję się przyłączyć"< Poprzedni" i„Dalej>” linki do kontrolki datepicker jQueryUI. Mój problem polega na tym, że prawidłowo doda 1 dzień, a potem przestanie. Nie będzie dodawać dni. (to samo z poprzednim przyciskiem). Jeśli więc wprowadzę 10/30/2009, będzie to tylko „następne” do 10/31/2009 i nie przejdzie do 1 listopada. Jakieś pomysły? Oto mój uproszczony kod:
Odpowiedni HTML:
<form id="dateForm">
<a href="" id="previous">« Previous</a>
<input name="datepicker" type="text" value="10/30/2009" id="datepicker" />
<a href="" id="next">Next »</a>
Odpowiedni Javascript / jQueryUI:
// Datepicker Init
$("#datepicker").datepicker({showOn: 'button', buttonText: 'Click to choose date'}).change(function () {
refreshSchedule();
});
// Next Day Link
$('a#next').click(function () {
$("#datepicker").datepicker('setDate', '+1');
refreshSchedule();
return false;
});
// Previous Day Link
$('a#previous').click(function () {
$("#datepicker").datepicker('setDate', '-1');
refreshSchedule();
return false;
});
Datepicker jQueryUI działa poprawnie w przeciwnym razie.
Aktualizacja na komentarz - Funkcja refreshCalendar () mogła mieć nazwę doSomething (); Nie ma to znaczenia dla pierwotnego pytania o to, jak zwiększyć / deincrementować pole #datepicker. To powiedziawszy, oto kod. Mógłbym zrobić to samo za pomocą detektora $ ("# datepicker"). Change () i funkcji zwrotnej, aby zaktualizować tabelę / tytuł.
// Get the latest calendar data from server. Update the calendar title & table
// returns a json array: data[0] = title, data[1] = html table contents
refreshCalendar = function () {
var selectedDate = $("#datepicker").val();
$.getJSON(serverUrl, {targetDate: selectedDate}, function (data) {
$("#calendarTitle").html(data[0]);
$("#calendarTable").html(data[1]);
});
};