Yii2实现上下联动下拉框功能的方法


Posted in PHP onAugust 10, 2016

本文实例讲述了Yii2实现上下联动下拉框功能的方法。分享给大家供大家参考,具体如下:

首先我先解释下什么是上下联动的下拉框

假如一个view里面有两个select,第一个是公司名,第二个是分公司名。公司有多个,每个公司又有多个分公司,我们实现的就是点击当前公司后,分公司里面显示的事当前公司的分公司。

或者你直接理解成选择所属省份后,下面的select显示的是当前省份的县。

原理:

点击第一个select后,执行ajax获取当前公司的分公司,并使用jQuery修改分公司内容

两个select的部分视图代码如下:

<?= $form->field($model, 'companies_company_id')->dropDownList(
  \yii\helpers\ArrayHelper::map(\backend\models\Companies::find()->all(),'company_id','company_name'),
  [
    'prompt'=>'select Company',
    'onchange'=>'
      $.post("index.php?r=branches/lists&id='.'"+$(this).val(),function(data){
        $("select#departments-branches_branch_id").html(data);
      });',
  ]
) ?>
<?= $form->field($model, 'branches_branch_id')->dropDownList(
  \yii\helpers\ArrayHelper::map(\backend\models\Branches::find()->all(),'branch_id','branch_name'),
  [
    'prompt'=>'Select Branches',
  ]
) ?>

list方法代码:

public function actionLists($id)
{
  $countBranches = Branches::find()
    ->where(['companies_company_id' => $id])
    ->count();
  $branches = Branches::find()
    ->where(['companies_company_id' => $id])
    ->all();
  if ($countBranches > 0) {
    foreach ($branches as $branche) {
      echo "<option value='" . $branche->branch_id . "'>" . $branche->branch_name . "</option>";
    }
  } else {
    echo "<option>-</option>";
  }
}

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP的可变变量名的使用方法分享
Feb 05 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
PHP读取xml方法介绍
Jan 12 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
Mar 16 PHP
微信公众平台之快递查询功能用法实例
Apr 14 PHP
ThinkPHP模型详解
Jul 27 PHP
thinkPHP中验证码的简单使用方法
Dec 26 PHP
php设计模式之单例模式代码
Jun 11 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PHP性能测试工具xhprof安装与使用方法详解
Apr 29 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 #PHP
教你在header中隐藏php的版本信息
Aug 10 #PHP
PHP通过加锁实现并发情况下抢码功能
Aug 10 #PHP
PHP身份证校验码计算方法
Aug 10 #PHP
PHP5.4起内置web服务器使用方法
Aug 09 #PHP
PHP Filter过滤器全面解析
Aug 09 #PHP
学习PHP Cookie处理函数
Aug 09 #PHP
You might like
php 图像函数大举例(非原创)
2009/06/20 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
javascript实现的DES加密示例
2013/10/30 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
JavaScript实现随机数生成器(去重)
2017/10/13 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
Python实现简单的四则运算计算器
2016/11/02 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
python的flask框架难学吗
2020/07/31 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
python动态规划算法实例详解
2020/11/22 Python
YII2 全局异常处理深入讲解
2021/03/24 PHP
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
五年级学生期末评语
2014/12/26 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技