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


Posted in PHP onMay 23, 2017

前言

本文主要介绍的是关于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 相关文章推荐
php self,$this,const,static,-&amp;gt;的使用
Oct 22 PHP
探讨PHP中this,self,parent的区别详解
Jun 08 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
PHP记录和读取JSON格式日志文件
Jul 07 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 PHP
PHP实现字符串大小写转函数的功能实例
Feb 06 PHP
Laravel 连接(Join)示例
Oct 16 PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 PHP
Yii框架自定义数据库操作组件示例
Nov 11 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
php实现留言板功能(会话控制)
May 23 #PHP
php实现文件预览功能
May 23 #PHP
PHP写的简单数字验证码实例
May 23 #PHP
php实现评论回复删除功能
May 23 #PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 #PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 #PHP
PHP简单实现遍历目录下特定文件的方法小结
May 22 #PHP
You might like
PHP 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
Apache中php.ini的设置方法
2013/02/28 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
PHP如何读取由JavaScript设置的Cookie
2017/03/22 PHP
定义select的边框颜色
2008/04/28 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
jquery滚动条插件(可以自定义)
2016/12/11 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
Python实现股市信息下载的方法
2015/06/15 Python
Python实现大文件排序的方法
2015/07/10 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
python-opencv颜色提取分割方法
2018/12/08 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
建筑工程毕业生自我鉴定
2014/01/14 职场文书
文明城市标语
2014/06/16 职场文书
企业年检委托书范本
2014/10/14 职场文书
2016十一国庆节感言
2015/12/09 职场文书
openstack中的rpc远程调用的方法
2021/07/09 Python
关于mysql中string和number的转换问题
2022/06/14 MySQL
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS