加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2021-01-17 14:29:27 所属栏目:PHP教程 来源:网络整理
导读:前言 本文主要介绍的是关于yii 2.0中表单小部件使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 使用方法 首先创建model层,因为要使用表单小部件 所以要加载相应的组件,这里需要的组件有yiiwidgetsActiveForm yiihelpersHtml 接下

前言

本文主要介绍的是关于yii 2.0中表单小部件使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

使用方法

首先创建model层,因为要使用表单小部件 所以要加载相应的组件,这里需要的组件有yiiwidgetsActiveForm yiihelpersHtml

接下来在model定义的class里 写方法,首先我们要定义需要使用表单小部件的name值

不多说上代码

namespace frontendmodels;
use yiibaseModel;
use yiiwidgetsActiveForm;
use yiihelpersHtml;

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

namespace frontendcontrollers;
use yiiwebController;
use yii;
use db;
use frontendmodelsForm;
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层 展示出来

use yiihelpersHtml;
use yiiwidgetsActiveForm;

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

‘btn btn-primary']) ?>

在这个页面中 我们展示了 文本框 密码框 单选多选下拉框 其中下拉框的数据是从db中读取的

总结

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

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读