jquery datepicker突出显示假期
我正在尝试制作一个jquery日期选择器日历,它会突出显示假期,并在日期选择器上的日期hover时将假日名称作为工具提示。 假日日期来自一个php文件(holidays.php)。 我的问题是……我似乎无法突出显示所有假期,它只突出显示一个日期。 更具体地说,只是第一个返回的日期。
$(document).ready(function (){ var holiDays = (function () { var val = null; $.ajax({ 'async': false, 'global': false, 'url': 'holidays.php', 'success': function (data) { val = data; } }); return val; })(); var result = []; var holiDays = holiDays.split(','); var s, k; for (s = 0, k = -1; s < holiDays.length; s++) { if (s % 4 === 0) { k++; result[k] = []; } result[k].push(holiDays[s]); } // This for loop is to check whether the values stored in result[] are correct for (i = 0; i < result.length; i++) { var f=result[i][0]+"-"+result[i][1]+"-"+result[i][2]; alert(f); } function nationalDays(date) { var m = date.getMonth(); var d = date.getDate(); var y = date.getFullYear(); for (i = 0; i < result.length; i++) { var f=result[i][0]+"-"+result[i][1]+"-"+result[i][2]; // WHEN I ALERT THE VALUE OF f HERE, // IT ALWAYS DISPLAY THE FIRST VALUE IN THE RESULT ARRAY. WHY? alert(f); var d = new Date(f); if (date.getFullYear() == d.getFullYear() && date.getMonth() == d.getMonth() && date.getDate() == d.getDate()) { return [true, 'holiday', result[i][3]]; } else { return [true]; } } } $(function() { $('input.pickerClass').live('click', function() { $(this).datepicker({dateFormat: 'yy-mm-dd', beforeShowDay: nationalDays }).focus(); }); }); });
当我在nationalDays函数之外警告数组result[]
内的值时,存储的值似乎是正确的。
for (i = 0; i < result.length; i++) { var f=result[i][0]+"-"+result[i][1]+"-"+result[i][2]; alert(f); }
但由于某种原因,当我在nationalDays函数下警告result[]
INSIDE for for循环的值时,它只返回存储在数组result []中的第一个日期。 但为什么?
有人有想法吗?我非常感激。 🙂
我已经知道我哪里出错了。
if (date.getFullYear() == d.getFullYear() && date.getMonth() == d.getMonth() && date.getDate() == d.getDate()) { return [true, 'holiday', result[i][3]]; } else { return [true]; }
本来应该
if (date.getFullYear() == d.getFullYear() && date.getMonth() == d.getMonth() && date.getDate() == d.getDate()) { return [true, 'holiday', result[i][3]]; } return [true];
我刚刚删除了else语句,它有效!
- jQuery / JavaScript:这是约会吗? (validation是否是日期)
- onchangeDate不会在克隆的datepicker对象上触发
- JQuery Datepicker + Grails + dd / mm / yyyy格式
- jquery ui datepicker在没有在IE中再次加载日历的情况下将焦点放在输入上?
- Zend Framework – JQuery – 日期选择器 – 格式日期为YYYY-mm-dd
- jQuery Datepicker onSelect不起作用
- jQuery UI datepicker:如何将星期日变成红色?
- jQuery DatePick填充输入 – 多次点击问题
- Angular2:从javascript函数调用组件方法