jQuery ui datepicker与引导日期选择器冲突 [英] jQuery ui datepicker conflict with bootstrap datepicker

查看:109
本文介绍了jQuery ui datepicker与引导日期选择器冲突的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用引导日期选择器显示两个月.在Google上搜索后,我无法找到如何使用Bootstrap Datepicker显示多个月的信息.我发现我可以使用JQuery UI显示多个月.

I want to show two months using bootstrap datepicker. After search on google I am not able to find how to show multiple months using bootstrap datepicker. I found that I can use JQuery UI for displaying multiple months.

但是问题是:在我的应用程序中,他们正在使用引导日期选择器.当我尝试使用JQuery UI datepicker时,Bootstrap datepicker会覆盖它,而我看不到JQuery UI datepicker.

But problem is: In my application they are using bootstrap date picker. When I am trying to use JQuery UI datepicker then Bootstrap datepicker override it and I am not able to see JQuery UI datepicker.

您能否建议如何将引导日期选择器替换为JQuery UI?

Could you please suggest how to replace bootstrap datepicker to JQuery UI?

我想实现这一目标: http://jqueryui.com/datepicker/#multiple-calendars

I wanted to achieve this: http://jqueryui.com/datepicker/#multiple-calendars

推荐答案

可以使用 noConflict 方法" rel ="noreferrer"> bootstrap-datepicker

$.fn.datepicker.noConflict = function(){
   $.fn.datepicker = old;
   return this;
};

您可以执行$.fn.datepicker.noConflict(),用现有的较旧的日期选择器替换引导日期选择器,在本例中为jQuery UI.

You can just do $.fn.datepicker.noConflict() which replaces the bootstrap datepicker with the older datepicker which was present, in this case jQuery UI.

对于那些想同时保留两个日期选择器的人,可以执行以下操作:

For those who wants to keep both datepickers, you can do something along the following:

if (!$.fn.bootstrapDP && $.fn.datepicker && $.fn.datepicker.noConflict) {
   var datepicker = $.fn.datepicker.noConflict();
   $.fn.bootstrapDP = datepicker;
}

之后,您可以使用datepicker()方法初始化jQuery UI datepicker,并使用bootstrapDP()

after which you'll be able to initialize jQuery UI datepicker using datepicker() method, and bootstrap one using bootstrapDP()

旁注:确保在jquery ui之后加载bootstrap datepicker,以便我们可以使用它noConflict()

Side note: Make sure you load bootstrap datepicker after jquery ui so that we can use it's noConflict()

$(function() {
  if (!$.fn.bootstrapDP && $.fn.datepicker && $.fn.datepicker.noConflict) {
    var datepicker = $.fn.datepicker.noConflict();
    $.fn.bootstrapDP = datepicker;
  }
  $("#jquery-ui-datepicker").datepicker({});
  $('#bootstrap-datepicker').bootstrapDP({});
});

#left {
  width: 50%;
  float: left;
}
#bootstrap-datepicker {
  width: 50%;
  float: right;
}

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.1/css/bootstrap-datepicker.css" rel="stylesheet" />

<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.1/js/bootstrap-datepicker.min.js"></script>

<div id="left">
  <p>Date:
    <input type="text" id="jquery-ui-datepicker">
  </p>
</div>
<div id="bootstrap-datepicker" class="input-group date">
  <input type="text" class="form-control"><span class="input-group-addon"><i class="glyphicon glyphicon-th"></i></span>
</div>

这篇关于jQuery ui datepicker与引导日期选择器冲突的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆