Datepicker (bootstrap)

Выкладываем свои наработки
Ответить
Аватара пользователя
MOTORIST
Сообщения: 245
Зарегистрирован: 2010.06.24, 10:04

Datepicker (bootstrap)

Сообщение MOTORIST » 2012.09.09, 11:42

Активно использую bootstrap. Понадобился простой datepicker в таком же стиле. Для Yii не смог найти.
Написал на основе расширения Stefan Petre's (bootstrap-datepicker) http://www.eyecon.ro/bootstrap-datepicker/.
Выложил на GitHub https://github.com/MOTORIST/WasDatepicker

P.S. Очень порадовал параметр startView. Можно по порядку выбирать год(значение параметра 2), месяц(1), день (0). Подходит для выбора ДР.
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.

Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Datepicker (bootstrap)

Сообщение nizsheanez » 2012.09.14, 00:41

а вот тоже симпотный.
http://www.yiiframework.ru/forum/viewto ... f=9&t=8240

Аватара пользователя
MOTORIST
Сообщения: 245
Зарегистрирован: 2010.06.24, 10:04

Re: Datepicker (bootstrap)

Сообщение MOTORIST » 2012.09.14, 10:55

Да, я видел. Но у него немного другая функция. Он больше подходит для диапазона дат.
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.

Аватара пользователя
ifelse
Сообщения: 227
Зарегистрирован: 2013.02.05, 13:05

Re: Datepicker (bootstrap)

Сообщение ifelse » 2013.02.21, 19:42

Распаковал в protected\components\was, на странице

Код: Выделить всё

<?php
$this->widget('application.components.was.WasDatepicker', array(
    'model' => $model,
    'attribute' => 'created',
    //model + attribute or 'name'=>'nameInput',
    'options' => array(
        'language' => 'ru',
        'format' => 'dd.mm.yyyy',
        'autoclose' => 'true',
        'startDate' => '3,9,2012',
        'endDate' => '15,9,2012',
        'weekStart' => 1,
        'startView' => 2,
        'keyboardNavigation' => true
    ),
    'htmlOptions' => array(
        'value' => date("d.m.Y"),
    ),
));
?>
Не работает, консолька хрома ругается:

Код: Выделить всё

Uncaught TypeError: Cannot read property 'fn' of undefined    bootstrap-datepicker.js:585
Uncaught ReferenceError: jQuery is not defined    bootstrap-datepicker.ru.js:13
Uncaught TypeError: Object [object Object] has no method 'datepicker'     create:52

o4fun
Сообщения: 1
Зарегистрирован: 2013.03.25, 23:17

Re: Datepicker (bootstrap)

Сообщение o4fun » 2013.03.25, 23:22

ifelse писал(а): Не работает, консолька хрома ругается:
Надо jquery подключить. Как вариант, можно добавить

Код: Выделить всё

$cs->registerPackage('jquery'); 
в функцию

Код: Выделить всё

protected function registerClientScript()
Возможно там же придётся исправить

Код: Выделить всё

$js = '$("#' . $this->id . '").datepicker(' . CJavaScript::encode($this->options) . ')'; 
на

Код: Выделить всё

$js = 'jQuery("#' . $this->id . '").datepicker(' . CJavaScript::encode($this->options) . ')'; 

tolyan
Сообщения: 61
Зарегистрирован: 2012.05.19, 02:29

Re: Datepicker (bootstrap)

Сообщение tolyan » 2013.07.09, 14:24

А как у WasDatepicker отключить выбор года? Чтоб выбирать только месяц и число?
И чтоб по умолчанию было пустое значение, а не сегодняшнее число?

valhalla
Сообщения: 1
Зарегистрирован: 2015.04.15, 12:06

Re: Datepicker (bootstrap)

Сообщение valhalla » 2015.04.15, 12:08

как сие запилить в yii2?

Код: Выделить всё

<?php $form=$this->beginWidget('CActiveForm',array(
    'id'=>'test,

)); ?>

<?php
       $this->widget('application.components.was.WasDatepicker',array(
           'model'=>$model,
           'attribute'=>'create_time',
       //model + attribute or 'name'=>'nameInput',
           'options'=>array(
               'language'=>'ru',
               'format'=>'dd.mm.yyyy',
               'autoclose'=>'true',
               'startDate'=>'3,9,2012',
               'endDate'=>'15,9,2012',
               'weekStart'=>1,
               'startView'=>2,
               'keyboardNavigation'=>true
            ),
            'htmlOptions'=>array(
               'value'=>date("d.m.Y"),
             ),
      ));
?>

<?php $this->endWidget(); ?>

Ответить