yii 2.0中表单小部件的使用方法示例

前言

本文主要介绍的是关于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

<?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

?

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

<?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层 展示出来

?

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

<?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中读取的

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://blog.aulei521.com/2017/05/10/yii-表单小部件的使用方式/

本文链接:https://my.lmcjl.com/post/19517.html

展开阅读全文

4 评论

留下您的评论.