JQuery UI Datepicker,反转下拉菜单中的年份顺序 [英] JQuery UI Datepicker, reverse the order of the year in the dropdowns

查看:24
本文介绍了JQuery UI Datepicker,反转下拉菜单中的年份顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有 changeyear: true 的日期选择器.年份"下拉列表将标题显示为 2009,然后标题下方的下一年不是 2008、2007、2006 等,而是从 1999 开始并向上计数.我似乎找不到一个简单的解决方案来颠倒这个顺序?

I have a datepicker with changeyear: true. The 'year' drop down displays the title as 2009, then instead of the next year below the title being 2008, 2007, 2006 and so on it starts at 1999 and counts upwards. I can't seem to find an easy solution to reverse this order?

推荐答案

我不建议将原始 ui.datepicker.js 编辑为 Cuong 建议,因为一旦您或其他开发人员在新版本发布时替换文件,您的更改就会丢失.记住进行了哪些自定义以重新应用是不切实际的.相反,您可以在自己的单独 JS 中覆盖现有的 _generateMonthYearHeader 方法,如下所示:

I wouldn't recommend editing the original ui.datepicker.js as Cuong suggested because your changes will be lost as soon as you or another developer replaces the file when a new version is released. Remembering what customisations have been made in order to re-apply is not practical. Instead, you can override the existing _generateMonthYearHeader method in your own separate JS like so:

// store original so we can call it inside our overriding method
$.datepicker._generateMonthYearHeader_original = $.datepicker._generateMonthYearHeader;

$.datepicker._generateMonthYearHeader = function(inst, dm, dy, mnd, mxd, s, mn, mns) {
  var header = $($.datepicker._generateMonthYearHeader_original(inst, dm, dy, mnd, mxd, s, mn, mns)),
      years = header.find('.ui-datepicker-year');

  // reverse the years
  years.html(Array.prototype.reverse.apply(years.children()));

  // return our new html
  return $('<div />').append(header).html();
}

我只是为我正在做的事情写了这个,它很好地解决了这个问题:)

I just wrote this for something I'm working on and it does the trick nicely :)

这篇关于JQuery UI Datepicker,反转下拉菜单中的年份顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆