Javascript 如何在Jquery Datepicker中向日期添加特殊的ID(如工具提示)?
您好,我是Jquery的初学者,我开始使用Jquery datepicker,我使用这段代码是因为这对我的项目很好,但我需要为日期添加一个特定的ID,因为当单击日期时,将显示一个带有信息的Div 显示信息的代码并不重要 JQUERYJavascript 如何在Jquery Datepicker中向日期添加特殊的ID(如工具提示)?,javascript,jquery,jquery-ui,datepicker,Javascript,Jquery,Jquery Ui,Datepicker,您好,我是Jquery的初学者,我开始使用Jquery datepicker,我使用这段代码是因为这对我的项目很好,但我需要为日期添加一个特定的ID,因为当单击日期时,将显示一个带有信息的Div 显示信息的代码并不重要 JQUERY var disabledDays = ["2014-3-5", "2014-3-13", "2014-3-28"]; var tips = ['aaa', 'bbb', 'ccc']; //the IDs var ids = ['first', 'second',
var disabledDays = ["2014-3-5", "2014-3-13", "2014-3-28"];
var tips = ['aaa', 'bbb', 'ccc'];
//the IDs
var ids = ['first', 'second', '3er'];
$("#datepicker").datepicker({
showButtonPanel: false,
firstDay: 1,
dateFormat: 'yy-mm-dd',
beforeShowDay: function (date) {
var m = date.getMonth(),
d = date.getDate(),
y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if ($.inArray(y + '-' + (m + 1) + '-' + d, disabledDays) != -1) {
//return [false];
return [true, 'id='+ids[i], 'highlight', tips[disabledDays.indexOf(y + '-' + (m + 1) + '-' + d)]];
}
}
return [true];
}
});
$("#first").click(function () {
$("#aaa-info").show();
});
我不确定你是否想在datepicker中每天都添加一个ID。但是我得到了基本的功能。文档中说,
beforeShowDay
函数必须返回一个包含三个元素的数组。您返回了4个元素。此外,您不必运行循环,因为数据采集器会在日历中显示的每一天运行循环。我删除了循环并编辑了返回数组,它正常工作了
这是一个
这是我更改的代码
beforeShowDay: function (date) {
var m = date.getMonth(),
d = date.getDate(),
y = date.getFullYear();
if ($.inArray(y + '-' + (m + 1) + '-' + d, disabledDays) != -1) {
return [true, 'highlight', 'Tooltip: function returned true'];
}
else {
return [ false, 'highlight', 'Tooltip: function returned false']
}
}
如果目标是显示关于那天的信息,我会添加一个函数来获取日期,查找页面上隐藏的元素并返回文本。像这样的
myTip = function(date){
//use the date to find hidden information on page
var myDate = date.toString();
var tip = "This date is " + myDate;
return tip;
};
然后您可以将返回数组更改为
return [true, 'highlight', myTip(date) ];
我更改了代码,但无法解决问题我在返回行中添加了ID您可以在此处检查代码,这样当您单击日历中的某一天时,您希望显示一个隐藏的div,其中包含关于该月某一天的信息?是,我需要的是将ID分配给日期信息是为循环生成的,但主要问题是向日期添加ID嗨,谢谢你的回答,我知道该函数适用于工具提示和类,但问题是,如何向日期添加ID?我认为datebeforeshow可能是这样的,如果我不能这样添加ID,我会这样做吗?我看到datepicker下面的函数在#第一个元素上附加了一个单击,以显示隐藏的div。我知道您希望在与单击事件匹配的日期添加ID,但我认为这不是方法。还可以尝试使用“onSelect”方法。它将在点击日期时触发,然后您可以编写一个函数来计算要显示哪个div。您可以在对话框中弹出隐藏的div,用户可以在准备就绪时关闭该对话框。遍历jQuery创建的表并找到具有正确日期的单元格并不是正确的方法。据我所知,你能查一下吗?我添加了onSelect方法,但这是我第一次使用datepicker,我想我做得不好。我今晚晚些时候才能检查它,但我会在中央时间8:00左右查看。非常感谢您的帮助
myTip = function(date){
//use the date to find hidden information on page
var myDate = date.toString();
var tip = "This date is " + myDate;
return tip;
};
return [true, 'highlight', myTip(date) ];