yii 2.0中表单小部件的使用方法示例
程序员文章站
2024-03-12 16:55:38
前言
本文主要介绍的是关于yii 2.0中表单小部件使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:
使用方法
首先创建model层,因为要使用表单小部...
前言
本文主要介绍的是关于yii 2.0中表单小部件使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:
使用方法
首先创建model层,因为要使用表单小部件 所以要加载相应的组件,这里需要的组件有yii\widgets\activeform yii\helpers\html
接下来在model定义的class里 写方法,首先我们要定义需要使用表单小部件的name值
不多说上代码
<?php /** * created by phpstorm. * user: jinlei * date: 2017/5/10 * time: 9:35 */ namespace frontend\models; use yii\base\model; use yii\widgets\activeform; use yii\helpers\html; class form extends model { public $name; public $pwd; public $sex; public $hobby; public $age; public function rules(){ return[ ]; } public function attributelabels(){ return[ ‘name'=>'用户名', ‘pwd'=>'密码', ‘sex'=>'性别', ‘hobby'=>'爱好', ‘age'=>'年龄' ]; } static public function dataarr($data){ $arr = array(); foreach($data as $key=>$value){ $arr[$value[‘kid']] = $value[‘kname']; } return $arr; } }
在这个model里 有将英文表头转换中文的方法 attributulabels
还有 我们处理单选多选还有下拉框值得方式 dataarr
接下来 我 们需要创建controller
<?php /** * created by phpstorm. * user: jinlei * date: 2017/5/10 * time: 9:39 */ namespace frontend\controllers; use yii\web\controller; use yii; use db; use frontend\models\form; class logincontroller extends controller { public function actionindex(){ $sql = ‘select kid,kname from exam_tiku'; $data = yii::$app->db->createcommand($sql)->queryall(); $arr = form::dataarr($data); //var_dump($arr);die; $model = new form(); return $this->render(‘index',[‘model'=>$model,'data'=>$arr]); } public function actionadd(){ $data = yii::$app->request->post(); echo $name = $data[‘form'][‘name']; } }
然后就是在我门的view层 展示出来
<?php /** * created by phpstorm. * user: jinlei * date: 2017/5/10 * time: 9:41 */ use yii\helpers\html; use yii\widgets\activeform; $form = activeform::begin([ ‘id' => ‘login-form', ‘options' => [‘class' => ‘form-horizontal'], ‘action'=>'?r=login/add', ‘method'=>'post', ]) ?> <?= $form->field($model, ‘name') ?> <?= $form->field($model, ‘pwd')->passwordinput() ?> <?= $form->field($model, ‘sex')->radiolist([‘0'=>'男','1'=>'女']) ?> <?= $form->field($model, ‘hobby')->checkboxlist([‘basketball'=>'篮球','baseball'=>'棒球','swim'=>'游泳']) ?> <?= $form->field($model, ‘age')->dropdownlist($data) ?> <div class=”form-group”> <div class=”col-lg-offset-1 col-lg-11″> <?= html::submitbutton(‘login', [‘class' => ‘btn btn-primary']) ?> </div> </div> <?php activeform::end() ?>
在这个页面中 我们展示了 文本框 密码框 单选多选下拉框 其中下拉框的数据是从db中读取的
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
上一篇: php实现文件预览功能