J'utilise actuellement le framework Twitter Bootstrap, et lors de l'utilisation des fenêtres modales, je ne peux pas faire en sorte que les éléments js fonctionnent comme le sélecteur de date ou la validation, bien que choisis et rendus uniformes correctement. s'il vous plaît voir ma fenêtre modale ci-dessous:
<div class="modal hide in" id="newMember" style="display: block; " aria-hidden="false">
<div class="modal-header">
<button class="close" data-dismiss="modal" type="button">×</button>
<h3>New Member Form</h3>
</div>
<form accept-charset="UTF-8" action="/players" class="form-horizontal" id="new_user" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"><input name="authenticity_token" type="hidden" value="KdL6cc2Vb53qeMY+PpBUS70myT4HX1uWofMUBolLea8="></div>
<div class="modal-body">
<div class="widget-content nopadding">
<div class="control-group">
<label class="control-label" for="user_role">Role</label>
<div class="controls">
<select id="user_role" name="user[role]" style="display: none; " class="chzn-done"><option value="">Select member role</option>
<option value="1">Player</option>
<option value="2">Coach</option>
<option value="3">Parent</option>
<option value="4">Manager</option>
<option value="5">Non-player</option></select><div id="user_role_chzn" class="chzn-container chzn-container-single" style="width: 222px; "><a href="javascript:void(0)" class="chzn-single"><span>Select member role</span><div><b></b></div></a><div class="chzn-drop" style="left: -9000px; width: 220px; top: 0px; "><div class="chzn-search" style=""><input type="text" autocomplete="off" style="width: 212px; "></div><ul class="chzn-results"><li id="user_role_chzn_o_0" class="active-result result-selected" style="">Select member role</li><li id="user_role_chzn_o_1" class="active-result" style="">Player</li><li id="user_role_chzn_o_2" class="active-result" style="">Coach</li><li id="user_role_chzn_o_3" class="active-result" style="">Parent</li><li id="user_role_chzn_o_4" class="active-result" style="">Manager</li><li id="user_role_chzn_o_5" class="active-result" style="">Non-player</li></ul></div></div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_full_name">Full name</label>
<div class="controls">
<input id="user_first_name" name="user[first_name]" placeholder="First Name" size="30" type="text">
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_last_name">Last name</label>
<div class="controls">
<input id="user_last_name" name="user[last_name]" placeholder="Last Name" size="30" type="text">
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_email">Email</label>
<div class="controls">
<input id="user_email" name="user[email]" placeholder="Email Address" size="30" type="text">
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_date_of_birth">Date of birth</label>
<div class="controls">
<input class="datepicker" data-date-format="dd/mm/yyyy" id="user_dob" name="user[dob]" placeholder="dd/mm/yyyy" readonly="readonly" size="30" type="text">
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_gender">Gender</label>
<div class="controls">
<select id="user_gender" name="user[gender]" style="display: none; " class="chzn-done"><option value="">Select gender</option>
<option value="Male">Male</option>
<option value="Female">Female</option></select><div id="user_gender_chzn" class="chzn-container chzn-container-single" style="width: 222px; "><a href="javascript:void(0)" class="chzn-single"><span>Select gender</span><div><b></b></div></a><div class="chzn-drop" style="left: -9000px; width: 220px; top: 0px; "><div class="chzn-search" style=""><input type="text" autocomplete="off" style="width: 212px; "></div><ul class="chzn-results"><li id="user_gender_chzn_o_0" class="active-result result-selected" style="">Select gender</li><li id="user_gender_chzn_o_1" class="active-result" style="">Male</li><li id="user_gender_chzn_o_2" class="active-result" style="">Female</li></ul></div></div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_team">Team</label>
<div class="controls">
<select id="user_team_id" name="user[team_id]" style="display: none; " class="chzn-done"><option value="">None</option>
<option value="4">Metro 3 East</option>
<option value="1">State League 3</option>
<option value="2">State League 4</option>
<option value="3">Metro 3 South</option>
<option value="5">Pennant E</option>
<option value="6">Under 9 White</option>
<option value="7">Under 9 Navy</option>
<option value="8">Under 13 Pennant South East</option>
<option value="9">Under 17 Pennant South East</option>
<option value="10">Under 15 South (1)</option>
<option value="11">Under 11 Pennant South East</option>
<option value="12">Under 11 South</option></select><div id="user_team_id_chzn" class="chzn-container chzn-container-single" style="width: 222px; "><a href="javascript:void(0)" class="chzn-single"><span>None</span><div><b></b></div></a><div class="chzn-drop" style="left: -9000px; width: 220px; top: 0px; "><div class="chzn-search" style=""><input type="text" autocomplete="off" style="width: 212px; "></div><ul class="chzn-results"><li id="user_team_id_chzn_o_0" class="active-result result-selected" style="">None</li><li id="user_team_id_chzn_o_1" class="active-result" style="">Metro 3 East</li><li id="user_team_id_chzn_o_2" class="active-result" style="">State League 3</li><li id="user_team_id_chzn_o_3" class="active-result" style="">State League 4</li><li id="user_team_id_chzn_o_4" class="active-result" style="">Metro 3 South</li><li id="user_team_id_chzn_o_5" class="active-result" style="">Pennant E</li><li id="user_team_id_chzn_o_6" class="active-result" style="">Under 9 White</li><li id="user_team_id_chzn_o_7" class="active-result" style="">Under 9 Navy</li><li id="user_team_id_chzn_o_8" class="active-result" style="">Under 13 Pennant South East</li><li id="user_team_id_chzn_o_9" class="active-result" style="">Under 17 Pennant South East</li><li id="user_team_id_chzn_o_10" class="active-result" style="">Under 15 South (1)</li><li id="user_team_id_chzn_o_11" class="active-result" style="">Under 11 Pennant South East</li><li id="user_team_id_chzn_o_12" class="active-result" style="">Under 11 South</li></ul></div></div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_mobile">Mobile</label>
<div class="controls">
<input id="user_mobile" maxlength="10" name="user[mobile]" placeholder="i.e 0421813529" size="10" type="tel">
<span class="help-block">
<input name="user[private_mobile]" type="hidden" value="0"><div class="checker" id="uniform-user_private_mobile"><span><div class="checker" id="uniform-user_private_mobile"><span><input id="user_private_mobile" name="user[private_mobile]" type="checkbox" value="1" style="opacity: 0; "></span></div></span></div>
<a href="javascript:void(0)" class="tip-bottom" data-original-title="Normally, all members of the team can see this information. If you don't want teammates to see this information, just click this checkbox. (Note: Team managers will always see this information.)">Private</a>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_manager_access">Manager access</label>
<div class="controls">
<input name="user[manager]" type="hidden" value="0"><div class="checker" id="uniform-user_manager"><span><div class="checker" id="uniform-user_manager"><span><input id="user_manager" name="user[manager]" type="checkbox" value="1" style="opacity: 0; "></span></div></span></div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_admin_access">Admin access</label>
<div class="controls">
<input name="user[admin]" type="hidden" value="0"><div class="checker" id="uniform-user_admin"><span><div class="checker" id="uniform-user_admin"><span><input id="user_admin" name="user[admin]" type="checkbox" value="1" style="opacity: 0; "></span></div></span></div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<div class="pull-right">
<input class="btn btn-primary" name="commit" type="submit" value="Create User">
<a class="btn btn-danger" data-dismiss="modal" href="#">Cancel</a>
</div>
</div>
</form>
</div>
jquery
twitter-bootstrap
datepicker
Patron Nass
la source
la source
Réponses:
ajouter z-index au-dessus de 1051 dans la classe datepicker
ajouter quelque chose comme ça dans la page ou css
<style> .datepicker{z-index:1151 !important;} </style>
la source
.ui-datepicker
pour moi, cela ne fonctionnait qu'avec! important en css
.datepicker {z-index: 1151 !important;}
la source
J'utilise:
body.modal-open .datepicker { z-index: 1200 !important; }
De cette façon: si le modal n'est pas ouvert et que vous voulez que le sélecteur de date soit au z-index normal (dans mon cas, j'avais besoin qu'il soit dans le menu déroulant, qui a un z-index de 1000), Ça marche.
Si le modal est ouvert, le sélecteur de date doit être sur le z-index modal (1040 ou 1050), utilisez donc le
body.modal-open
sélecteur.J'utilise Bootstrap 3.1.1
la source
Selon http://www.daterangepicker.com/ (options)
$('#dispatch_modal').on('shown.bs.modal', function() { $('input:text:visible:first').focus(); // prepare datepicker $('.form_datepicker').daterangepicker({ singleDatePicker: true, showDropdowns: true, parentEl: '#dispatch_modal' }); });
»
parentEl a résolu mon problème ...
la source
Ajouter z-indez dans la classe ui-datepicker
<style> .ui-datepicker{ z-index:1151 !important; } </style>
la source
Comme l'a dit mccannf dans son commentaire :
Je vous recommande de regarder votre bootstrap CSS et JS. Votre modal est défini sur une valeur d'index z très élevée (99999). Comparez simplement mon jsfiddle ci-dessus avec le vôtre
la source
Essayez avec ce morceau de code.
.ui-datepicker{ z-index:1151 !important; }
résoudra le problème lorsque vous utilisez bootstrap V3
la source
.ui-datepicker
travaillé pour moi où.datepicker
pas.Je pense qu'il est préférable de changer la fonction logique du plugin. Autour de la rangée 552, je change ceci:
var zIndex = parseInt(this.element.parents().filter(function(){ return $(this).css('z-index') !== 'auto'; }).first().css('z-index'))+10;
dans ceci:
var zIndex = parseInt(this.element.parents().filter(function(){ return $(this).css('z-index') !== 'auto'; }).first().css('z-index')) + 10 * 1000; //think is enought
la source
J'ai eu cette erreur, car j'ai fait défiler vers le bas. Datepicker avait une mauvaise position supérieure dans fixe. Je l'utilise juste maintenant comme:
$('#myModal').on('show.bs.modal', function (e) { $(document).scrollTop(0); });
et son fonctionne bien maintenant.
la source
pouvez-vous changer dans votre fichier css
bootstrap-timepicker/css/bootstrap-timepicker.css
de
.bootstrap-timepicker-widget.dropdown-menu.open { display: inline-block; }
à
.bootstrap-timepicker-widget.dropdown-menu.open { display: inline-block; z-index:1151; }
la source
si vous utilisez bootstrap V3, essayez ceci.
.bootstrap-datetimepicker-widget { z-index: 1200 !important; }
la source
Pour Bootstrap 3.x et Ace Template wrapbootstrap
Datepicker et Timepicker dans un modal
<style> body.modal-open .datepicker { z-index: 1050 !important; } body.modal-open .bootstrap-timepicker-widget { z-index: 1050 !important; } </style>
la source
$('#effective_to').datepicker({ dateFormat: "dd-mm-yyyy", changeMonth: true, changeYear: true, beforeShow: function() { $('#ui-datepicker-div').addClass('datepicker'); } });
CSS
.datepicker { z-index: 100000 !important; display: block; }
Cela fonctionne de moi. Même si j'ai appelé model via ajax
la source
Cette solution a parfaitement fonctionné pour moi pour rendre le sélecteur de date par-dessus le modal bootstrap.
http://jsfiddle.net/cmpgtuwy/654/
HTML
<br/> <div class="wrapper"> Some content goes here<br /> Some more content. <div class="row"> <div class="col-xs-4"> <!-- padding for jsfiddle --> <div class="input-group date" id="dtp"> <input type="text" class="form-control" /> <span class="input-group-addon"> <span class="glyphicon-calendar glyphicon"></span> </span> </div> </div> </div> </div>
Javascript
$('#dtp').datetimepicker({ format: 'MMM D, YYYY', widgetParent: 'body'}); $('#dtp').on('dp.show', function() { var datepicker = $('body').find('.bootstrap-datetimepicker-widget:last'); if (datepicker.hasClass('bottom')) { var top = $(this).offset().top + $(this).outerHeight(); var left = $(this).offset().left; datepicker.css({ 'top': top + 'px', 'bottom': 'auto', 'left': left + 'px' }); } else if (datepicker.hasClass('top')) { var top = $(this).offset().top - datepicker.outerHeight(); var left = $(this).offset().left; datepicker.css({ 'top': top + 'px', 'bottom': 'auto', 'left': left + 'px' }); } });
CSS
.wrapper { height: 100px; overflow: auto;} body { position: relative; }
la source
Essayez de modifier la valeur z-index pour
.modal
et.modal-backdrop
inférieure à la.datepicker
valeur z-index.la source
Pour BootsTrap Calender, utilisez ceci
/ L'index du calendrier CSS /
.bootstrap-datetimepicker-widget { z-index:99999 !important; }
la source
essayez d'utiliser ce code cela fonctionne pour moi. d'ailleurs il provenait de ce site https://github.com/eternicode/bootstrap-datepicker/issues/464 .
$('#datepicker').datepicker().on('show', function () { var modal = $('#datepicker').closest('.modal'); var datePicker = $('body').find('.datepicker'); if (!modal.length) { $(datePicker).css('z-index', 'auto'); return; } var zIndexModal = $(modal).css('z-index'); $(datePicker).css('z-index', zIndexModal + 1); });
la source
Fwiw. Necro mais quand même.
pour
<link href="https://cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css" rel="stylesheet">
J'ai eu besoin
<style type="text/css"> .ui-timepicker-container {z-index: 1151 !important;} </style>
dans la tête du document pour qu'il accepte le remplacement
J'ai essayé la plupart des autres solutions ici avant de recourir à cela.
la source
// re initialze datepicker $(".bootstrap-datepicker").bsdatepicker({ format: "yyyy-mm-dd", autoclose: true, }).on('changeDate', function (ev) { $(this).bsdatepicker('hide'); }); // $(".dropdown-menu").css({'z-index':'1100'});
la source
essaye ça
#ui-datepicker-div { z-index: 100000; }
la source
Laissez-moi vous aider,
vous pouvez mettre à jour votre bootstrap.min.css
dans le menu déroulant de la classe, vous pouvez changer la valeur de l'index z en 2000
donc datepicker apparaîtra
la source
Enveloppez votre code JavaScript de datapicker à l'intérieur
function pageLoad() {}
la source