【发布时间】:2014-12-10 18:13:39
【问题描述】:
我正在尝试将noConflict() 与引导日期选择器一起使用,以避免与其他 jquery 插件发生冲突。
引导日期选择器文档说:
$.fn.datepicker.noConflict provides a way to avoid conflict with other jQuery datepicker plugins:
var datepicker = $.fn.datepicker.noConflict(); // return $.fn.datepicker to previously assigned value
$.fn.bootstrapDP = datepicker; // give $().bootstrapDP the bootstrap-datepicker functionality
但这对我不起作用,因为我使用的是日期范围。代码作者有this to say:
哎呀!日期范围代码本身调用 .datepicker,所以你是对的, 与 noConflict 结合使用时会损坏。
目前,我建议在初始化范围之后调用 noConflict 选择器。
但是我该怎么做呢?
我试过这个:
$('#bookingform .input-daterange').datepicker({
...options excluded for brevity...
});
datepicker = $.fn.datepicker.noConflict();
我已经试过了:
$('#bookingform .input-daterange').datepicker({
...options excluded for brevity...
}).noConflict();
但我似乎无法让它工作。任何人都可以告诉我我做错了什么(或者最好是我如何做对)?
更新:对于那些询问我如何初始化范围选择器的人:
似乎没有专门调用它的代码。除了下面的演示代码,它依赖于 bootstrap js。我认为范围方面可能基于.input-daterange 类,但我不确定。
这是演示代码:
<div class="input-daterange input-group" id="datepicker">
<input type="text" class="input-sm form-control" name="start" />
<span class="input-group-addon">to</span>
<input type="text" class="input-sm form-control" name="end" />
</div>
$('#sandbox-container .input-daterange').datepicker({
format: "dd/mm/yyyy"
});
【问题讨论】:
-
您的代码没有提到初始化范围选择器,只有日期选择器。你在哪里初始化范围选择器?
-
我不是 100% 确定。没有特定的代码来调用它的范围方面。我认为使用类 .input-daterange 可能会做到这一点。
-
为什么要把这个问题记下来?不解释怎么改进?
-
研究范围选择器是如何初始化的,并按照作者的说明使用该信息:“目前,我建议在初始化范围选择器之后调用 noConflict 。 " 你还没有这样做,所以你还没有做足够的研究。
-
我认为“在初始化 rangepicker 之后”指的是 datepicker 初始化行:
$('#bookingform .input-daterange').datepicker();这是我可以控制的唯一相关代码。除了更改引导程序源代码之外,这对于具有我技能水平的人来说不是一个好主意。无论如何,我不认为这就是作者的意思。
标签: javascript jquery twitter-bootstrap jquery-ui bootstrap-datepicker