选择范围时,jquery UI datepicker 有一个奇怪的问题。在提出问题之前,我正在研究许多其他人编写的代码。他们以优化的顺序包含了 jquery 工具和 UI,因此所有功能都可以正常工作。除了 jquery UI 之外的所有内容。我提到的原因是,我无法更新版本或切换库的顺序,因为它破坏了所有其他代码:((但我确实确保 jquery、js、jquery UI 在任何地方都没有包含两次)
也就是说,问题是这样的 - 我想要两个日期,其中“截止”日期应该晚于“开始”日期。使用 jquery 站点中的以下代码,这应该很容易:
$(function() {
$( "#from" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#to" ).datepicker( "option", "minDate", selectedDate ); //BREAKS!
}
});
$( "#to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#from" ).datepicker( "option", "maxDate", selectedDate ); //BREAKS!
}
});
});
问题是当我在我评论为“BREAKS!”的行中选择日期时代码中断。它根本没有检测到主 datepicker 函数中的第二个 datepicker 并给我错误 - SCRIPT438: Object doesn't support property or method 'datepicker'
因此,我阅读了以下帖子并决定按照以下方式进行操作。这可行,但显然我现在没有范围功能。
$(document).ready(function(){
$('#from').datepicker({
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
showButtonPanel: true,
onSelect: function(dateText, inst) {
$('[name=wmFrom]').val(dateText); //need this part for the search filters
}
});
$('#to').datepicker({
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
showButtonPanel: true,
onSelect: function(dateText, inst){
$('[name=wmTo]').val(dateText); //need this part for the search filters
}
});
});
现在好了,我还在学习js和jquery。任何人都可以帮助我为此实现范围功能,而无需在日期选择器中调用/初始化日期选择器。我知道这个问题可能意味着库的版本或兼容性可能存在一些问题。但就像我说的那样,我真的无法摆脱它们或改变太多。任何想法/帮助将不胜感激..
更多信息-
这令人沮丧,因为在我之前工作的人以这种方式做事,而我所做的任何更改都会破坏不同的功能。这是一个内部应用程序,所以不能提供链接:(。
这就是我所说的 - 首先有一个头文件 php,它包含在我正在处理的问题文件的顶部。此标头具有指向 jquery 库的链接。包含 header.php 后,有指向 queryLoader.js、jquery.easing.1.3.js 的链接。然后有一堆代码,其中包含脚本和正文 html(这是与 datepicker 关联的 html 输入所在的位置)。然后他们链接 /full/jquery.tools.min.js、jquery.effects.core.js、jquery.ui.core.js、jquery.ui.widget.js、jquery.ui.datepicker、query.ui.tooltip。 js,jquery-ui.css。在此之后,有更多的脚本使用 $.tools.validator.fn 和 serializeObject() 等函数。
如果我假设它加载 jquery lib 两次并将 /full/jquery.tools.min.js 更改为 /tiny/jquery.tools.min.js 或 /all/jquery.tools.min.js 我收到以下错误:对象不支持带有 serializeObject() 等函数的行上的该属性或方法。当页面自行加载时我得到了这个。
如果我在所有 UI 类链接之后添加 /jquery.tools.min.js,我会得到:对象在输入的 datepicker 初始化时不支持属性或方法“datepicker”。当页面自行加载时我得到了这个。
我应该做谁:(