JQuery UI Datepicker, инвертируйте порядок года в раскрытии

Для ответа на вопрос "помехи означают, что только одна копия VAL создается, в случае, если заголовок включен больше чем одним исходным файлом?"...

НИКАКОЙ . VAL будет всегда определяться отдельно в каждом файле, который включает заголовок.

стандарты для C и C++ действительно вызывают различие в этом случае.

В C, ограниченные по объему файлом переменные являются экстерном по умолчанию. При использовании C VAL статичен, и ANOTHER_VAL является экстерном.

Примечание, что современные компоновщики могут жаловаться на ANOTHER_VAL, если бы заголовок включен в различные файлы (то же глобальное имя, определенное дважды), и определенно жаловался бы, был ли ANOTHER_VAL инициализирован к различному значению в другом файле

В C++, ограниченные по объему файлом переменные статичны по умолчанию, если они - константа и экстерн по умолчанию, если они не. При использовании C++ и VAL и ANOTHER_VAL статичны.

также необходимо принять во внимание то, что обе переменные определяются константа Идеально, компилятор всегда принимал бы решение встроить эти переменные и не включать любое устройство хранения данных для них. Существует большое количество причин, почему устройство хранения данных может быть выделено. Я могу думать...

  • параметры отладки
  • адрес, взятый в компиляторе файла
  • всегда, выделяет устройство хранения данных (сложные типы константы не могут легко быть встроены, поэтому становится особым случаем для основных типов)
13
задан Matt Ball 20 October 2009 в 14:37
поделиться

1 ответ

  • Откройте файл ui.datepicker.js
  • Найдите метод _generateMonthYearHeader: function (inst, drawMonth, drawYear, minDate, maxDate, selectedDate, secondary, monthNames, monthNamesShort)
  • Найдите следующий цикл в методе

     for (; year <= endYear; year ++) {
     html + = '<значение параметра = "' + год + '"' +
     (год == drawYear? 'selected = "selected"': '') +
     '>' + год + '';
    }
    
    html + = '';
    
  • Вставьте следующий код перед этим циклом:

     if (year-100 <1900) // Проверить год меньше 1900
    год = 1950; // изменить начальную точку вышеуказанного цикла, это поможет вам получить
     // раскрывающийся список года, начиная с 1950 и заканчивая текущим годом плюс 10.
    
4
ответ дан 1 December 2019 в 17:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: