Der Datepicker in jQueryUI wird mit einer dynamischen Position gerendert. Es rendert entsprechend seiner CSS, wenn es genug Platz dafür gibt, aber wenn es nicht genügend Fensterplatz gibt, versucht es, auf Bildschirm zu übertragen. Ich brauche es, um jedes Mal am selben Ort zu bleiben und zu rendern, unabhängig von der Bildschirmposition oder anderen Umständen. Wie kann das mit dem jQueryUI Datepicker gemacht werden? Andere Implementierungen von jQuery datepicker scheinen Möglichkeiten zu haben, dies zu tun, aber ich sehe keinen Weg, dies für die UI-Version zu tun.So steuern Sie die Positionierung von jQueryUI datepicker
Die Antwort scheint nicht nur die CSS modifiziert zu werden:
.ui-datepicker { width: 17em; padding: .2em .2em 0; (trying top/margin-top/position:relative, etc. here...)}
... da, wenn die Datepicker wird dynamisch erstellt schafft oben und im Element Stil links. Hab noch keinen Weg gefunden. Ein Ansatz, den ich sah, ist so etwas wie dies in der beforeShow Option zu geben:
beforeShow: function(input,inst){
inst.dpDiv.css({
'top': input.offsetHeight+ 'px',
'left':(input.offsetWidth - input.width)+ 'px'
});
}
Dies hat eine gewisse Wirkung, aber die oberen und linken Eigenschaften werden noch dynamisch danach eingestellt werden ausgeführt, wenn die Datumsauswahl macht. Es versucht immer noch, auf dem Bildschirm zu rendern. Wie bekomme ich es immer an der gleichen Stelle zu rendern? Mein nächster Schritt ist wahrscheinlich, in die datepicker Eingeweide zu gehen und Dinge herauszuziehen. Irgendwelche Ideen?
Beachten Sie, dass die Antwort (für die UI-Version) ist nicht in:
- how-to-change-the-pop-up-position-of-the-jquery-datepicker-control
- change-the-position-of-jquery-ui-datepicker
Kein Problem - Ich bin glücklich, jemand anderes hat etwas daraus, ich erinnere mich, verbringen eine oder zwei Stunden herauszufinden, dies aus. – Purrell
Das funktioniert ein Vergnügen! –
Nice one, hat mir wirklich geholfen! Für jeden, der es braucht, können Sie dann die Ränder des Datepickers wie folgt ändern: .ui-datepicker {margin-left: -361px; } – bbeckford