可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I have a slideshow div, and I have a datepicker field above that div.
When I click in the datepicker field, the datepicker panel show behind slideshow div.
And I have put the script as:
http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js
So I cannot change the z-index of datepicker in CSS. The z-index of datepicker which the script is generating is 1 and my slideshow div(also calling thru googleajaxapi) z-index is 5. So I guess I have to increase the z-index of date picker greater than 5. So is there any way to increase it ?
Someone can help me?
回答1:
Put the following style at the 'input' text element: position: relative; z-index: 100000;
.
The datepicker div takes the z-index from the input, but this works only if the position is relative.
Using this way you don't have to modify any javascript from jQuery UI.
回答2:
simply in your css use '.ui-datepicker{ z-index: 9999 !important;}
' Here 9999 can be replaced to whatever layer value you want your datepicker available. Neither any code is to be commented nor adding 'position:relative;
' css on input elements. Because increasing the z-index of input elements will have effect on all input type buttons, which may not be needed for some cases.
回答3:
worked for me
.hasDatepicker {
position: relative;
z-index: 9999;
}
回答4:
Based in marksyzm answer, this worked for me:
$('input').datepicker({
beforeShow:function(input) {
$(input).css({
"position": "relative",
"z-index": 999999
});
}
});
回答5:
Adding to Justin's answer, if you're worried about untidy markup or you don't want this value hard coded in CSS you can set the input before it is shown. Something like this:
$('input').datepicker({
beforeShow:function(input){
$(input).dialog("widget").css({
"position": "relative",
"z-index": 20
});
}
});
Note that you cannot omit the "position": "relative"
rule, as the plugin either looks in the inline style for both rules or the stylesheet, but not both.
The dialog("widget")
is the actual datepicker that pops up.
回答6:
I had this issue i solved by using on click:
var checkin = $('.dpd1').datepicker()
.on('click', function (ev) {
$('.datepicker').css("z-index", "999999999");
}).data('datepicker');
回答7:
I have a dialog box that uses the datepicker on it. It was always hidden. When I adjusted the z-index, the field on the lower form always showed up on the dialog.
I used a combination of solutions that I saw to resolve the issue.
$('.ui-datepicker', $form).datepicker({
showButtonPanel: true,
changeMonth: true,
changeYear: true,
dateFormat: "yy-M-dd",
beforeShow: function (input) {
$(input).css({
"position": "relative",
"z-index": 999999
});
},
onClose: function () { $('.ui-datepicker').css({ 'z-index': 0 } ); }
});
The before show ensures that datepicker always is on top when selected, but the onClose ensures that the z-index of the field gets reset so that it doesn't overlap on any dialogs opened later with a different datepicker.
回答8:
See here: http://forum.jquery.com/topic/z-index-1-datepicker-1-8
回答9:
I have a page where the datepicker was on top of a datatables.net tabletools button.
The datatables buttons had a higher z-index than the individual datepicker date buttons.
Thanks to Ronye's answer I was able to resolve this problem by using position: relative; and z-index: 10000.
Thanks!
回答10:
This happened to me when I was missing the theme. Make sure the theme exists, or perhaps redownoad the theme, and reupload it to your server.
回答11:
That what solved my problem:
$( document ).ready(function() {
$('#datepickerid').datepicker({
zIndexOffset: 1040 #or any number you want
});
});
回答12:
In fact you can effectively add in your css .ui-datepicker{ z-index: 9999 !important;}
but you can modify jquery-ui.css
or jquery-ui.min.css
and add at the end of the ui-datepicker class z-index: 9999 !important;
. both things work for me (You only need one ;-))
回答13:
I had this issue as well, since the datepicker uses the input's z-index, I added the following css
#dialogID input,.modal-dialog input, .modal-dialog .input-group .form-control{
z-index:inherit;
}
Just take the rule that applies to yours, either by parent id, class, or in my case a bootstrap dialog, using their input-group and form-control.
回答14:
I had to
.datepicker.dropdown-menu {
position: relative;
z-index: 9999 !important;
}