Средство выбора времени виджета Yii — не может предварительно выбрать значение

#javascript #php #jquery #yii

#javascript #php #jquery #yii

Вопрос:

На моей странице есть средство выбора времени. Для этого я использовал следующий виджет Yii. Я не смог заполнить значение динамически.

 $this->widget('bootstrap.widgets.TbTimePicker',
    array(
        'model' =>$Visits,
        'name' => "l_tme",
        'id'=>"l_time_id",
         'value' => $time_in_date,
        'noAppend' => true, 
        'options' => array(
            'disableFocus' => FALSE,
            'showMeridian' => TRUE 
        ),
        'htmlOptions'=> array('class'=>'form-control','style'=>'width:90px;','id'=>'l_tme_add'),
     )
);
  

Следующий код скрипта, который я использовал.

 var s_val = '12:34:00 AM';
document.getElementById('l_time_id').value = s_val;
  

Я вызвал приведенный выше скрипт при загрузке страницы.

Но значение не заполняется в поле. Пожалуйста, помогите мне

Комментарии:

1. ‘id’=>’l_tme_add’), … Я вижу, что оно написано с ошибкой

Ответ №1:

Удалите id from htmlOptions и сохраните код виджета таким же.

'htmlOptions'=> array('class'=>'form-control','style'=>'width:90px;'),

После загрузки документа, т.Е. document.ready() Напишите тот же код —

var s_val = '12:34:00 AM';
document.getElementById('l_time_id').value = s_val;

Значение будет отображаться в режиме выбора времени.

Ответ №2:

Попробуйте добавить значение по умолчанию со стороны PHP:

 'htmlOptions' => [
    'value' => '12:34:00 AM',
    ...
]
  

Комментарии:

1. ’12:34:00′ — это динамическое значение. Мне нужно заполнить это с помощью скрипта.

Ответ №3:

Неправильно устанавливать значение средства выбора времени таким образом

вы должны следовать документу в

http://jdewit.github.io/bootstrap-timepicker/

$(‘#timepicker’).timepicker(‘Установленное время’, ’12:45′);

также вы должны быть уверены, что делаете это после того, как документ будет готов

Ответ №4:

Попробуйте установить значение в модели, которую вы используете для этой формы, а не в самом виджете.

Например:

В вашем контроллере:

 $model = new YourActiveRecordModel();
$model->l_tme = date_format(new DateTime(),'Y-m-d H:i:s');

$this->render('your_view_file',array('model'=>$model));