-1

This is my coding for the datepicker. i want to get the name of the day when user select the date from the datepicker. Please i'm new to this and i need to complete this for my final year project. Thank you in advance.

<?= $form->field($model, 'appDate')->widget(
        DatePicker::className(), [
             'inline' => false, 
            'clientOptions' => [
                'autoclose' => true,
                'format' => 'yyyy-m-d'
            ]
]);?>

1 Answers1

0

You must to use events to get selected date to get day name. I used changeDate event, here is code:

<?= $form->field($model, 'appDate')->widget(
    DatePicker::className(), [
        'inline' => false, 
        'clientOptions' => [
            'autoclose' => true,
            'format' => 'yyyy-m-d',
        ],
        'clientEvents' => [
            'changeDate' => new \yii\web\JsExpression('function(e){var days =["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
                $("#dayname").text(days[e.date.getDay()]); }') ,
        ] ,
    ]);?>

I created an element for showing day name:

<span id="dayname"></span>

For put into your input:

<?= $form->field($model, 'appDate')->widget(
    DatePicker::className(), [
        'inline' => false, 
        'clientOptions' => [
            'autoclose' => true,
            'format' => 'yyyy-m-d',
        ],
        'clientEvents' => [
            'changeDate' => new \yii\web\JsExpression('function(e){var days =["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
                $("#appointment-appday").val(days[e.date.getDay()]); }') ,
        ] ,
    ]);?>
Farshid
  • 497
  • 1
  • 6
  • 20