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

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

时间: 2024-10-01 07:14:35

Yii2实现上下联动下拉框功能的方法的相关文章

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

本文实例讲述了Yii2实现上下联动下拉框功能的方法.分享给大家供大家参考,具体如下: 首先我先解释下什么是上下联动的下拉框 假如一个view里面有两个select,第一个是公司名,第二个是分公司名.公司有多个,每个公司又有多个分公司,我们实现的就是点击当前公司后,分公司里面显示的事当前公司的分公司. 或者你直接理解成选择所属省份后,下面的select显示的是当前省份的县. 原理: 点击第一个select后,执行ajax获取当前公司的分公司,并使用jQuery修改分公司内容 两个select的部分

jQuery实现下拉框功能实例代码_jquery

说一百句,不如我给大家贴张效果图,效果图请看下面: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> * { m

javascript实现的一个带下拉框功能的文本框_javascript技巧

有时我们需要一个可选的下拉框来选取内容,但是但是又有可以自定义输入的需求.对于这种需求,大部分网站使用的都是一个下拉框和一个 input text ,并列或分行给出选择.那么,我们希望它看上去像一个可以输入也可以选择的下拉框,那该如何做呢? 其实我们可以通过 css position 定位及少许的 javascript 代码,模拟出来这种效果. 复制代码 代码如下: <!DOCTYPE html><html><head> <title>可编辑可选择的下拉框&

js 动态为textbox添加下拉框数据源的方法_javascript技巧

复制代码 代码如下: $("#<%=lstCarBrand.ClientID%>").change(function () { $("#<%=txtCarSeries.ClientID%>").val("");//清除文本框 $("#<%=txtCarSeries.ClientID%>").unautocomplete();//清除autocomplete $("#<%=tx

DevExpress gridview下拉框的再次研究

原文:DevExpress gridview下拉框的再次研究      前几天写了一篇关于研究DevExpress gridview下拉框的随笔(DevExpress gridview下拉框repositoryItemComboBox的使用),被大神(@爱编程的大叔)评论为:成功用世界上最繁琐的方法来使用Devexpress中的Gridview控件中的下拉框,之后就一直在想那肯定是还有更加简便的办法,刚好今天有空闲时间,就去了官网研究起了gridControl的属性(https://docume

android中自定义下拉框

android自带的下拉框好用不?我觉得有时候好用,有时候难有,项目规定这样的效果,自带的控件实现不了,那么只有我们自己来老老实实滴写一个新的了,其实最基本的下拉框就像一些资料填写时,点击的时候出现在编辑框的下面,然后又很多选项的下拉框,可是我在网上找了一下,没有这种下拉框额,就自己写了一个,看效果图先: ,这个是资料填写的一部分界面,三个下拉框,选择故乡所在地: 点击之后弹出下拉框,选择下面的选项: 三个下拉框时关联的,第一个决定了第二数据内容,第二个决定了第三个数据内容,如果三个全部选好之后

下拉框问题

问题描述 想实现,选定下拉框1大类后,下拉框2筛选出对就大类的小类,目前是用<selectname="zcdl"onchange="selectsteelkind()"><optionvalue="00"selected>请选择大类</option>中的onchage实现functionselectsteelkind(){document.form1.action="aa.jsp?index=3&qu

mfc-MFC实现世界时区的下拉框

问题描述 MFC实现世界时区的下拉框 有没有啥API可以获取世界时区列表,实现类似windows时间设置中的全世界时区的下拉框功能? 解决方案 查看这个注册表 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime Zones the TZI tag is struct call TIME_ZONE_INFORMATION. 你可以查看MSDN来解析最终的信息

ajax struts2 下拉框赋值(适合所有)

1.此代码适合所有下拉列表取值 2.一个项目所有的下拉列表只需要这一个公用方法: 步骤一:创建实体bean: 复制代码 代码如下: public class DictionaryBean { private String value_Id;//下拉框option的id private String value;//下拉框option的值 private String flag;//对应下拉框的值的类型,如flag=1,下拉列表为省份信息,flag=2为市级信息等: public String g