Il datepicker in jQueryUI esegue il rendering con una posizione dinamica. Rende secondo il suo css se c'è abbastanza spazio per esso, ma se non c'è abbastanza spazio per la finestra prova a renderizzare sullo schermo. Ho bisogno che rimanga e renda sempre nello stesso posto, indipendentemente dalla posizione dello schermo o da altre circostanze. Come si può fare con jQueryUI datepicker? Altre implementazioni di jQuery datepicker sembrano avere modi per farlo, ma non vedo un modo per farlo per la versione dell'interfaccia utente.Come controllare il posizionamento di jQueryUI datepicker
La risposta non sembra essere proprio la modifica del CSS:
.ui-datepicker { width: 17em; padding: .2em .2em 0; (trying top/margin-top/position:relative, etc. here...)}
... da quando il DatePicker è stato creato in modo dinamico crea superiore e lasciato in stile elemento. Non ho ancora trovato un modo per aggirare questo. Un approccio che ho visto è quello di dare qualcosa di simile nell'opzione beforeShow:
beforeShow: function(input,inst){
inst.dpDiv.css({
'top': input.offsetHeight+ 'px',
'left':(input.offsetWidth - input.width)+ 'px'
});
}
Questo ha un certo effetto, ma le proprietà superiore e sinistro sono ancora in modo dinamico set dopo questo viene eseguito quando l'datepicker rende. Sta ancora cercando di renderizzare sullo schermo. Come faccio a renderlo sempre nello stesso punto? Il mio prossimo passo è probabilmente entrare nelle budella di datepicker e iniziare a tirare fuori le cose. Qualche idea?
Nota che la risposta (per la versione dell'interfaccia utente) non è in:
- how-to-change-the-pop-up-position-of-the-jquery-datepicker-control
- change-the-position-of-jquery-ui-datepicker
No prob - Sono felice che qualcun altro abbia ottenuto qualcosa da questo, mi ricordo di aver passato un'ora o due a capirlo. – Purrell
Questo funziona a meraviglia! –
Bello, mi ha davvero aiutato! Per chiunque ne abbia bisogno è quindi possibile modificare i margini del datepicker in questo modo: .ui-datepicker {margin-left: -361px; } – bbeckford