Sono scioccato che:
a) nessuno qui ha citato una soluzione programmatica per l'impostazione the datepicker z-Index b) non esiste alcuna opzione per jQuery DatePicker per passare uno z-Index quando si associa a un elemento.
Sto utilizzando un metodo js per calcolare l'indice più alto. Di default controlliamo solo i div, perché questi sono gli elementi probabili per ottenere un valore z-index ed è comprensibilmente più veloce di analizzare ogni elemento della pagina.
/* Get the highest zindex for elements on the page
*/
function getHighestZIndex(element){
var index_highest = 0;
var index_current;
if(element == undefined){
element = 'div';
}
$(element).each(function(){
index_current = parseInt($(this).css("z-index"), 10);
if(index_current > index_highest) {
index_highest = index_current;
}
});
return index_highest;
}
Perché dobbiamo usare javascript di impegnare la DatePicker ad un elemento, vale a dire $ ('# some_element'). Datepicker(), a quel tempo abbiamo impostato lo stile del elemento di destinazione in modo che datepicker prenderà la z-index da esso. Grazie a Ronye Vernaes (nella sua risposta in questa pagina) per aver ricordato che datepicker() prenderà z-index dell'elemento bersaglio se è presente ed è impostato su position: relative:
$(this.target).datepicker();
var zindex = e.getHighestZIndex();
zindex++;
$(this.target).css('position','relative');
$(this.target).css('z-index',zindex);
this.target è l'elemento di input che stiamo creando in un campo Datepicker. Al momento del binding, otteniamo lo z-index più alto sulla pagina e aumentiamo lo z-index dell'elemento. Quando l'icona datepicker viene cliccata, raccoglierà tale z-index dall'elemento di input, perché, come Ronye Vernaes menzionato, della posizione dello stile: relativo.
In questa soluzione, non proviamo a indovinare quale sarà il valore più alto di z-Index. Otteniamo effettivamente IT.
fonte
2012-12-13 20:33:35
ho modificare la proprietà zIndex di dialogo è uguale a 1, e utilizzando questo codice incluso per voi. Questo post risolve il mio problema. Grazie. –
Solo per aggiornare questa risposta, ora deve essere z-index: 1002. La finestra di dialogo di JQuery utilizza uno stile in linea: 'style =" overflow: hidden; display: block; position: absolute; z-index: 1001; outline-color: -moz-use-text-color; outline-style: none; outline -width: 0px; height: auto; width: 350px; top: 309.5px; left: 413.5px; "' –
Dopo alcuni minuti di esplorazione, la finestra di dialogo jQuery sembra aumentare il suo z-index ogni volta. Non sono sicuro che sia un bug o no, ma impostando l'indice z # ui-datepicker-div su 9999 lo corregge. –