我有一个问题…
我使用日期选择器,文档说明我们可以在按键时更改日期(例如CTRL左键:移至前一天)….但是在这种情况下,我想更改日期:
>左->移至前一天
>右->移至第二天
> UPP->移至上周
>向下->移至下周
我有以下代码:
$(document).on('focus', '.datepicker', function() {
$(this).datepicker({ dateFormat: "dd-mm-yy" }).attr('readonly','readonly');
if($(this).val()=='') $(this).val($.datepicker.formatDate('dd-mm-yy', new Date()));
// how can I activate a crtl key??
});
$(document).on('focusout', '.datepicker', function() {
// how can I deactivate a crtl key??
});
如果不是这样,欢迎任何建议
谢谢
解决方法:
非常感谢……您启发了我……我通过以下代码解决了:
$(document).on('focus', '.datepicker', function() {
$(this).datepicker({
dateFormat: "dd-mm-yy"
});
if($(this).val()=='') $(this).val($.datepicker.formatDate('dd-mm-yy', new Date()));
});
$(document).on('keydown', '.datepicker', function() {
$.datepicker.customKeyPress(event);
});
$.extend($.datepicker, { // Extends datepicker with shortcuts.
customKeyPress: function (event) {
var inst = $.datepicker._getInst(event.target);
var isRTL = inst.dpDiv.is(".ui-datepicker-rtl");
switch (event.keyCode) {
case 37: // LEFT --> -1 day
$('body').css('overflow','hidden');
$.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D");
break;
case 38: // UPP --> -7 day
$('body').css('overflow','hidden');
$.datepicker._adjustDate(event.target, -7, "D");
break;
case 39: // RIGHT --> +1 day
$('body').css('overflow','hidden');
$.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D");
break;
case 40: // DOWN --> +7 day
$('body').css('overflow','hidden');
$.datepicker._adjustDate(event.target, +7, "D");
break;
}
$('body').css('overflow','visible');
}
});
我希望这段代码有用
再见