Я в шоке, что:
а) здесь никто не упомянул о программном решении для установки указателя даты z-Index
б) у jQuery DatePicker нет возможности передать z-индекс при привязке его к элементу.
Я использую метод js для расчета максимального индекса. Мы по умолчанию проверяем только div, потому что это вероятные элементы для получения значения z-index, и это понятно быстрее, чем анализ каждого элемента на странице.
/* 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;
}
Поскольку мы должны использовать javascript для привязки указателя даты к элементу, то есть $ ('# some_element'). Datepicker (), в то время мы устанавливаем стиль целевого элемента, чтобы datepicker выбирал z-index из Это. Спасибо Ronye Vernaes (в его ответе на этой странице) за то, что он указал, что datepicker () подберет z-Index целевого элемента, если он у него есть, и установлен в position :lative:
$(this.target).datepicker();
var zindex = e.getHighestZIndex();
zindex++;
$(this.target).css('position','relative');
$(this.target).css('z-index',zindex);
this.target - это элемент ввода, который мы вносим в поле datepicker.
Во время привязки мы получаем самый высокий z-индекс на странице и увеличиваем z-индекс элемента.
При щелчке по значку datepicker он извлекает этот z-индекс из элемента ввода, поскольку, как упоминал Рони Верне, позиции стиля: относительный.
В этом решении мы не пытаемся угадать, каким будет наибольшее значение z-Index. Мы на самом деле получаем его.