2008-10-12 2 views
43

Я ищу инструмент выбора месяца JavaScript. Я уже использую jQuery на веб-сайте, поэтому, если бы это был плагин jQuery, который бы хорошо поместился. Я открыт для других вариантов.В поисках JavaScript Month Picker

В принципе, я получил упрощенную версию jQuery UI Date Picker. Меня не волнует день месяца, только месяц и год. Использование элемента управления выбора даты выглядит как излишний и клочья. Я знаю, что я мог бы использовать пару выделенных ящиков, но это кажется загроможденным, а затем мне также нужна кнопка подтверждения.

Я представляю сетку из двух строк из шести столбцов или три строки из четырех столбцов, для выбора месяца, а также текущие и будущие годы в верхней части. (Может быть, возможность перечислить несколько лет? Я не вижу никого, кто когда-либо понадобился бы больше года или двух, поэтому, если бы я мог перечислить текущий и следующие два года, это будет набухать.)

Это действительно просто тупиковая версия DatePicker. Что-то вроде этого существует?

+0

Что вы сделали тем временем? Я также ищу точно то же самое прямо сейчас. – markus 2009-07-27 14:18:36

+0

Мне пришлось убрать весь проект, так что теперь проблема была отброшена на задний план. – 2009-07-28 17:20:17

+0

Bump. У меня такая же проблема. – jchapa 2009-12-23 19:32:47

ответ

9

Любому еще глядя вперед на это (как я), вот красивый, легко использовать, JQuery UI совместимы, хорошо документированы, испытанный вариант:

Month picker example

Его использование по умолчанию просто выполнив следующие действия:

$("input[type='month']").MonthPicker(); 
3

Я использовал this script в программе некоторое время назад. Хотя он является древним, он хорошо работает на всех браузерах. Если вы посмотрите вниз на «Календарь выбора месяца», я считаю, что это то, что вы ищете. В примере, который есть, есть открытие календаря в новом окне (ew), но 1 настройка (например, второй пример) делает его show ala jQuery. Удачи.

0

На днях я выбрал выбор даты. Я нашел еще два интересных примера: может помочь вам, но я не уверен, как вы собираетесь это делать, не показывая календарь. Большинство «сборщиков дат» просто предполагают, что вы захотите увидеть календарь. Вам может потребоваться найти настраиваемое раскрывающееся меню, в котором есть некоторые настраиваемые кнопки, которые вы можете настроить.

Вот те, которые я посмотрел на:

http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/index.html

Я закончил с использованием этого один: http://jqueryui.com/demos/datepicker/

Если вы ничего хорошего с JQuery, вы могли бы придумать хороший маленький проект.

18

Ben Koehler от this equivalent question предлагает jquery ui hack, который работает прилично. Процитированный здесь для удобства, все его заслуги.

JSFiddle of this solution

- Вот хак (обновляется весь файл .html):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script> 
    <link rel="stylesheet" type="text/css" media="screen" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css"> 
<script type="text/javascript"> 
$(function() { 
    $('.date-picker').datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     showButtonPanel: true, 
     dateFormat: 'MM yy', 
     onClose: function(dateText, inst) { 
      var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val(); 
      var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val(); 
      $(this).datepicker('setDate', new Date(year, month, 1)); 
     } 
    }); 
}); 
</script> 
<style> 
.ui-datepicker-calendar { 
    display: none; 
    } 
</style> 
</head> 
<body> 
    <label for="startDate">Date :</label> 
    <input name="startDate" id="startDate" class="date-picker" /> 
</body> 
</html> 
9

Найдено один на lucianocosta.info.Это выглядит довольно хорошо:

Month Picker in action

ОБНОВЛЕНО 2016-02-13: ссылка, которая работает

1

Не стесняйтесь, чтобы посмотреть на мой собственный JQuery плагин:

Monthpicker screenshot

Простота в использовании:

$("#myTextInput").Monthpicker(); 

Есть еще много вариантов, но вы можете связать ввод с ограниченным диапазоном месяца.

Есть также события, которые обеспечивают способ кодирования Взаимозависимость между двумя monthpicker (начало & конец даты)

Вы можете найти живую демонстрацию здесь: Codepen

Вы можете взять исходный код Github и изменить все, что вы хотите: Github repository

Смежные вопросы