前言
本文主要介绍的是关于yii 2.0中表单小部件使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:
使用方法
首先创建model层,因为要使用表单小部件 所以要加载相应的组件,这里需要的组件有yii\widgets\ActiveForm yii\helpers\Html
接下来在model定义的class里 写方法,首先我们要定义需要使用表单小部件的name值
不多说上代码
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 |
/** * 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
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 |
/** * 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层 展示出来
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 |
/** * 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 ) ?>
|
在这个页面中 我们展示了 文本框 密码框 单选多选下拉框 其中下拉框的数据是从db中读取的
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助
jsp复习资料汇总
[JSP]2017年1月24日asp教程编程辅导汇总
[ASP]2016年12月2日JSP快速入门教程汇总
[JSP]2016年12月2日jsp基本用法和命令汇总
[JSP]2016年10月3日ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日