Tôi bị sốc rằng:
a) không có ai ở đây đã đề cập đến một giải pháp chương trình để thiết lập các datepicker z-Index b) không có tùy chọn cho jQuery DatePicker để vượt qua một z-Index khi ràng buộc nó với một phần tử.
Tôi đang sử dụng phương pháp js để tính chỉ mục cao nhất. Chúng tôi mặc định chỉ kiểm tra các div, vì đây là những yếu tố có khả năng nhận được giá trị chỉ mục z và dễ hiểu hơn là phân tích cú pháp mọi phần tử trên trang.
/* 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;
}
Bởi vì chúng ta phải sử dụng javascript để ràng buộc datepicker đến một yếu tố, ví dụ: $ ('# some_element'). Datepicker(), lúc bấy giờ chúng ta thiết lập phong cách các yếu tố mục tiêu của rất datepicker rằng sẽ nhặt z-index từ nó. Nhờ Ronye Vernaes (trong câu trả lời của ông trên trang này) để chỉ ra rằng datepicker() sẽ lấy các yếu tố mục tiêu của z-Index nếu nó có một và được thiết lập để position: relative:
$(this.target).datepicker();
var zindex = e.getHighestZIndex();
zindex++;
$(this.target).css('position','relative');
$(this.target).css('z-index',zindex);
this.target là phần tử đầu vào mà chúng ta đang tạo thành trường datepicker. Tại thời điểm ràng buộc, chúng tôi nhận được chỉ mục z cao nhất trên trang và làm cho chỉ mục z của phần tử cao hơn. Khi biểu tượng datepicker được nhấp, nó sẽ nhận chỉ mục z đó từ phần tử đầu vào, bởi vì, như Ronye Vernaes đã đề cập, về vị trí kiểu: tương đối.
Trong giải pháp này, chúng tôi không thử và đoán giá trị z-Index cao nhất sẽ là bao nhiêu. Chúng tôi thực sự GET IT.
Nguồn
2012-12-13 20:33:35
tôi thay đổi thuộc tính của hộp thoại ZIndex bằng 1, và sử dụng mã này bao gồm mỗi bạn. Bài đăng này giải quyết được sự cố của tôi. Cảm ơn. –
Chỉ cần cập nhật câu trả lời này, bây giờ nó cần phải là chỉ số z: 1002. Hộp thoại JQuery sử dụng kiểu nội tuyến: 'style =" overflow: hidden; display: block; position: absolute; z-index: 1001; outline-color: -moz-use-text-color; kiểu phác thảo: none; outline Chiều rộng: tự động, chiều rộng: 350px; đầu: 309.5px; bên trái: 413.5px; "' –
Sau một vài phút khám phá, Hộp thoại jQuery dường như tăng chỉ số z của nó mỗi lần. Tôi không chắc chắn nếu đó là một lỗi hay không, nhưng thiết lập '# ui-datepicker-div' z-index để 9999 sửa chữa nó. –