本文实例讲述了Yii2中DropDownList简单用法。分享给大家供大家参考,具体如下:
这里以实际应用为例讲解Yii2 DropDownList用法。
有一张分类表,无限极分类那种,表结构如下,pid就是父分类ID
这里我们要实现:
新建分类的时候,父分类可以从所有分类中任选一个或者不选
编辑分类时,父分类不能选择当前编辑的分类。。。如果选自己,父分类就是自己了,必然出错!
实现代码如下,我就贴上form的全部代码吧
?
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
|
<?php
use common\\models\\Category;
use yii\\helpers\\ArrayHelper;
use yii\\helpers\\Html;
use yii\\widgets\\ActiveForm;
/* @var $this yii\\web\\View */
/* @var $model common\\models\\Category */
/* @var $form yii\\widgets\\ActiveForm */
?>
<div class = "category-form" >
<div class = "row" >
<?php
if (! $model ->isNewRecord) { //如果是编辑分类
$cate = ArrayHelper::map(Category::find()->andWhere( 'id != :id' , [ ':id' => $model ->id])->all(), 'id' , 'title' );
} else { //如果是新建分类
$cate = ArrayHelper::map(Category::find()->all(), 'id' , 'title' );
}
?>
<div class = "col-md-6 col-md-offset-3" >
<?php $form = ActiveForm::begin(); ?>
<?= $form ->field( $model , 'title' )->textInput([ 'maxlength' => 100])->label( "分类标题" ) ?>
<?= $form ->field( $model , 'name' )->textInput([ 'maxlength' => 100])->label( "分类别名" ) ?>
<?= $form ->field( $model , 'pid' )->dropDownList( $cate , [ 'prompt' => '请选择父分类' ])->label( "父分类" ) ?>
<?= $form ->field( $model , 'keywords' )->textarea([ 'maxlength' => 255])->label( "分类关键词" ) ?>
<?= $form ->field( $model , 'description' )->textarea([ 'maxlength' => 255])->label( "分类描述" ) ?>
<div class = "form-group" >
<div class = "row" >
<div class = "col-md-6 col-md-offset-3" >
<?= Html::submitButton( $model ->isNewRecord ? '创建' : '更新' , [ 'class' => $model ->isNewRecord ? 'btn btn-block btn-success' : 'btn btn-block btn-primary' ]) ?>
</div>
</div>
</div>
<?php ActiveForm:: end (); ?>
</div>
</div>
</div>
|
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
相关文章
猜你喜欢
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 27
-
2025-05-29 48
-
2025-06-04 93
-
2025-05-29 103
-
2025-05-29 30
热门评论