bootstrap datepicker 在bootstrap modal中不显示问题

2024-05-12 13:58

本文主要是介绍bootstrap datepicker 在bootstrap modal中不显示问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


在普通的网页中显示datepicker比较简单,将bootstrap-datepicker-zh_CN.js 和 bootstrap-datepicker.css

拷贝到rails工程中相应的assets目录中,并在application.js 和 application.css文件中加载这两个文件

//= require bootstrap-datepicker-zh_CN

 *= require bootstrap-datepicker

最后在 在指定的文本域中加入事件即可$("#dp1, #dp2, #dp3").datepicker()


在使用bootstrap modal的时候,把表单的内容放在了modal中,但是日期控件的显示总是在最底层

解决办法:在.datepicker 中加上z-index的控制,css中z-index是用来控制预算的堆叠顺序的,默认是auto

也就是说通过它可以设置datepicker控件的堆叠顺序,这里把z-index设置为 9999,就可以保证日期控件总

是显示在最前端了


修改前:

.datepicker { 
top: 0; 
left: 0; 
padding: 4px; 
margin-top: 1px; 
-webkit-border-radius: 4px; 
-moz-border-radius: 4px; 
border-radius: 4px; 
}


修改后:

.datepicker {  
z-index: 9999;  
top: 0;  
left: 0;  
padding: 4px;  
margin-top: 1px;  
-webkit-border-radius: 4px;  
-moz-border-radius: 4px;  
border-radius: 4px;  
}  


  <div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button><h4 class="modal-title" id="gridSystemModalLabel">添加子账号</h4></div><div class="modal-body"><form class="form-horizontal" id="subAccount-form" action="/secure/setting/account/add" method="post" novalidate="novalidate" data-widget-cid="widget-4"><div class="row form-group"><div class="col-md-3 control-label"><label for="name">Email</label></div><div class="col-md-8 controls"> <input class="form-control" type="text" id="email" value="" name="email" required="required" data-widget-cid="widget-5" data-explain=""><div class="help-block" style="display:none;"></div></div></div><div class="row form-group"><div class="col-md-3 control-label"><label for="name">密码</label></div><div class="col-md-8 controls"> <input class="form-control" type="password" id="password" value="" name="password" required="required" data-widget-cid="widget-5" data-explain=""><div class="help-block" style="display:none;"></div></div></div><div class="row form-group"><div class="col-md-3 control-label"><label for="name">用户名</label></div><div class="col-md-8 controls"> <input class="form-control" type="text" id="childusername" value="" name="childusername" required="required" data-widget-cid="widget-5" data-explain=""><div class="help-block" style="display:none;"></div></div></div><div class="row form-group"><div class="col-md-3 control-label"><label>类别</label></div><div class="col-md-8 controls"><select class="form-control" id="userlevel" name="userlevel"><option value="">请选择</option><option value="0">编辑员</option><option value="1">操作员</option><option value="2">管理员</option></select></div></div><div class="row form-group"><div class="col-md-3 control-label"><label>过期时间</label></div><div class="col-md-8 controls"><div class="input-append date form_datetime"><input class="form-control" size="16" type="text" id="expiredate" value="" name="expiredate" required="required" value="" readonly><span class="add-on"><i class="icon-th"></i></span></div><div class="help-block" style="display:none;"></div></div></div></div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">取消</button><button type="submit" class="btn btn-primary" data-toggle="form-submit" data-target="#subAccount-form">确定</button></div></form></div><!-- /.modal-content --></div><!-- /.modal-dialog --><#-- 待加载的JS -->
<link rel="stylesheet" type="text/css" href="/assets/js/libs/datepicker/css/datepicker.css" />
<style>
.datepicker {  
z-index: 9999;  
top: 0;  
left: 0;  
padding: 4px;  
margin-top: 1px;  
-webkit-border-radius: 4px;  
-moz-border-radius: 4px;  
border-radius: 4px;  
}  
</style><script src="/assets/js/libs/datepicker/js/bootstrap-datepicker.js"></script><#-- 待加载的JS -->
<script>$(function(){$("#expiredate").datepicker();jQuery.validator.setDefaults({errorElement : 'p',errorClass : 'help-block',highlight : function(element) {$(element).closest('.form-group').addClass('has-error');},success : function(label) {label.closest('.form-group').removeClass('has-error');label.remove();},errorPlacement : function(error, element) {element.parent('div').append(error);}});$("#subAccount-form").validate({ignore: [],rules : {expiredate : {required : true},userlevel : {required : true},password : {required : true,minlength : 6,maxlength : 20},childusername : {required : true,maxlength : 60},email : {required : true,email : true,remote : 'account/add/checkemail'}},messages : {expiredate : {required : '请设置过期时间'},userlevel : {required : '请选择用户类型'},password : {required : '密码不能为空',minlength : '密码的最小长度不能小于6个字符',maxlength : '密码的最大长度不能超过20个字符'},childusername : {required : '用户名不能为空',maxlength : '用户名的最大长度不能超过60个字符'},email : {required : 'Email不能为空',remote : 'Email已存在,请重新输入'}},submitHandler : function(form) {//form.submit();$.post($(form).attr('action'), $(form).serialize(), function(json) {if(json.status == "success") {Notify.success("<i class='glyphicon glyphicon-saved'></i> 子账号添加成功。", 3);window.location.reload();//$modal.modal('hide');} else if(json.status == "fail") {Notify.danger("fail", 3);} else {Notify.danger("<i class='glyphicon glyphicon-warning-sign'></i> " + json.message, 6);}}, 'json');return false;}});  });
</script>



另外一位网友提供的解决方案,如果上面的不好用,可以试试这个:


可以通过在 input  输入框之外 嵌套<span style="position: relative; z-index: 9999;">完美解决问题。


这篇关于bootstrap datepicker 在bootstrap modal中不显示问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/982824

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例