@walder

Как вывести модальное окно при условии?

Привет,

у меня есть GridView в котором есть столбец со статусом, он редактируемый. Как сделать чтобы при выборе определенного статуса появлялось модальное окно, к примеру выбираю статус "отменен", и тут же всплывающее с вариантами по какой причине и кнопкой подтвердить...

[
    'class'=>'kartik\grid\EditableColumn',
    'attribute' => 'State',
    'headerOptions' => [
        'style'=>'width: 10%',
    ],
    'editableOptions' => [
        'header'=>'State',
        'inputType'=>\kartik\editable\Editable::INPUT_DROPDOWN_LIST,
        'data'=>Orders::getOrdersStati(),
        'options' => ['class'=>'form-control', 'prompt'=>'Статус...'],
    ],
],

Controller
public function actionIndex()
{
    $searchModel = new Orders();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

    if (isset($_POST['hasEditable']))
    {
        \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;

        $model = new Orders();
        $stateId = YII::$app->request->post('editableKey');
        $model = Orders::findOne($stateId);

        $post = [];
        $posted = current($_POST['Orders']);
        $post['Orders'] = $posted;

        if ($model->load($post))
        {
            if($model->save())
            {
                if (isset($posted['State']))
                {
                    $output = $model -> State;
                }
                $out = Json::encode(['output'=>$output, 'message'=>'']);
            }
        }
        echo $out;
        die;
    }

    return $this->render('index', [
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
    ]);
}
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Как вывести модальное окно при условии?

Это чистый js (jquery), слушаем событие, проверяем что надо и выводим или нет. Back (php и yii) тут не при чем вообще
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы