php - Yii2:如何在 Controller 中使用单选按钮值进一步执行?

标签 php jquery yii2 radiobuttonlist

我需要从单选列表中选择一个值。如果选择了一个特定的值,那么只有下一次执行才会发生,否则只会发生更新。

电台列表-

<?= $form->field($model, 'status')->radioList(array('Approved'=>'Approved','Digital'=>'Digital','CDP'=>'CDP','Print'=>'Print','Other Process'=>'Other Process','Packing'=>'Packing','Dispatch'=>'Dispatch'),['class' => $model->status ? 'btn-group' : 'btn btn-default'],['id'=>'radioButtons'] );   

Controller -

public function actionCreate()
    {
        $model = new Status();


        if ($model->load(Yii::$app->request->post())) 
        {
               if(radio button value is approved or dispatch below code should execute )
              {
                Yii::$app->mailer->compose()
                ->setFrom('abc@gmail.com')
                ->setTo('qwer@hotmail.com')
                ->setSubject('Message subject')
                ->setTextBody('Plain text content')
                ->setHtmlBody('<b>HTML content</b>')
                ->send();
                }
                  else{ 
                         (just update the form )
                    }

                $model->save();
            return $this->redirect(['view', 'id' => $model->id]);
        } 
        else 
        {
            return $this->render('create', [
                'model' => $model,
            ]);
        }
    }

我知道它很简单,但没有找到实现它的方法

最佳答案

您需要检查此值的 $model->status 属性。

if($model->status == 'Approved' || $model->status == 'Dispatch')
{
    //do stuff
}

为方便起见,我建议您将值存储为常量。例如

class MyActiveRecord extends \yii\db\ActiveRecord
{
    const STATUS_APPROVED = 1;
    const STATUS_DISPATCH = 2;
    //and so on

    public static function getStatusList()
    {
         return [
             self::STATUS_APPROVED => 'Approved',
             self::STATUS_DISPATCH => 'Dispatch',
             //other values
         ];
    }
}

然后在 Controller 中

if($model->status == MyActiveRecord::STATUS_APPROVED ||
   $model->status == MyActiveRecord::STATUS_DISPATCH)
{
    //do stuff
}

此外,它还会使您的 View 更具可读性:

<?= $form->field($model, 'status')->radioList($model->getStatusList())?>

关于php - Yii2:如何在 Controller 中使用单选按钮值进一步执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31447613/

相关文章:

javascript - Facebook API 获取页面选项卡内的 Fanpage ID

php - URL重写和url参数

php - 如何在 GridView::widget、Yii2 的搜索框中使用简单的下拉列表?

yii2 - 登录在 yii2 中不起作用

javascript - PHP Javascript 无法访问 PHP 模式之外的回显元素

javascript - 加载时隐藏多个图像数据 ID,单击按钮时显示它们

Javascript 替代 jquery html()

javascript 添加多个具有唯一名称和 ID 的表单字段

jQuery - 当鼠标悬停在元素上时如何继续动画?

yii2 - 在 Yii 中添加自定义辅助函数的文件夹