2009-06-18 9 views
0

Ich möchte den Datepicker von jquery UI verwenden, um einen POST auszulösen, der dann Informationen aus dem auf dem Datepicker ausgewählten Datum aus meiner Datenbank lädt.jQuery Datepicker zum Auslösen eines POSTs

also denke ich, das ist eine zweiteilige Frage

gibt es eine Weise, die ich es so das Datepicker Datum machen können, wenn sie ausgewählt wird, wird nur in eine POST übergeben, so jemand auf 1. Januar 2010 klicken würde und es würde automatisch zu mysite.com?date=01012010 oder so ähnlich gehen wie es jetzt ist der datepicker aktualisiert nur ein Textfeld mit dem Datum, also wenn man auf jan 1 2010 klickt, wird das Textfeld mit 01-01 gefüllt -2010

was bringt mich zu Teil 2 Wenn es keine Möglichkeit gibt zu tun, was ich in Teil 1 fragte, gibt es eine Methode, die ein Ereignis auf dem Textfeld aktualisiert wird, auf diese Weise könnte ich nur do

onTextUpdate {

Umleitung - mysite.com?date=$whateverIsInTextBox

}

oder so ähnlich

lassen Sie es mich wissen, wenn Sie irgendwelche Lösungen oder Ideen dies zu tun, vielen Dank

+0

Bitte bitte dies nicht tun. Ich hasse es wirklich, wenn Leute etwas so fummelig wie ein Datepicker machen. –

+1

@lainMH ist korrekt ist es ist nicht aus guter Usability Perspektive auf eine Daten zu posten wählen, was passiert, wenn der Benutzer ein falsches Datum gewählt und es ändern will – Rony

Antwort

5

Sie könnten etwas tun, wenn Sie Ajax nicht verwenden möchten:

$("#datepicker").datepicker({ 

    onSelect: function(date, instance) { 
      window.location = "www.example.com/?date="+date; 
    } 
}); 

Und wenn Sie das tun:

$("#datepicker").datepicker({ 

    onSelect: function(date, instance) { 

     $.ajax 
     ({ 
      type: "GET", 
      url: "www.example.com", 
      data: "date="+date, 
      success: function(result) 
      { 
       //do something 
      } 
     }); 
    } 
}); 
+0

Sie vermissen ein Komma hinter Datum! – JochemQuery

0

Verwenden Sie das OnSelect-Ereignis der Datumsauswahl

$('id').datepicker({ 
    onSelect: function(dateText, ins) { ... } 
}); 

können Sie andere Ereignisse der Datepicker Kontrolle versuchen basierend auf Ihrer Anforderung

0

Es gibt eine Reihe von Veranstaltungen an die jQuery Datepicker-Widget gebunden ist; onSelect sollte Punkt 1 oben abdecken:

$('.selector').datepicker({ 
    onSelect: function(dateText, inst) { ... } 
}); 

In Ihrem Fall können Sie die $ .get oder $ .post Funktionen verwenden, um die Daten an den Server übergeben.