Search code examples
phpdatepickeryii2dayofweek

How to get name of the day from dosamigos datepicker in yii2?


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'
            ]
]);?>

Solution

  • 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()]); }') ,
            ] ,
        ]);?>