yii实现级联下拉菜单的方法
本文详细讲述了yii实现级联下拉菜单的方法,具体步骤如下:
1.模版中加入如下代码:
<?php echo $form->dropDownList($model, 'src_type_id', OrderSrc::options(), array( <span style="white-space:pre"> </span>'id' => 'task-order-src-id', )); echo $form->dropDownList($model, 'src_shop_id', array(''=>'全部'), array( <span style="white-space:pre"> </span>'id' => 'task-shop-id', )) ?>
在这段代码中,OrderSrc_options() 这个是先读取一个下拉菜单。调用OrderScr model中的options方法。内容如下
public static function options($hasShop = true) { $model = new self(); if($hasShop) $model->hasShop(); $models = $model->findAll(); $array = array(''=>'全部'); foreach($models as $model) { $array[$model->src_id] = $model->src_name; } return $array; }
2.然后在模版页面中增加JS代码,实现当第一个下拉菜单变化时给第二个下拉菜单进行内容赋值。
<script type='text/javascript'> $().ready(function(e) { $('#task-order-src-id').change(function(e) { refreshShops(); }); refreshShops(); function refreshShops() { $.get('<?php echo $this->createUrl('getShops')?>', { 'srcId': $('#task-order-src-id').val() }, function(html_content) { $('#task-shop-id') .html(html_content) .find('option[value=<?php echo $model->src_shop_id?>]') .attr('selected', 'selected'); }); } }); </script>
在这段JS代码中,实现调取一个程序获取第二个下拉菜单的值(调用Controller中的actionGetShops方法),任何追加到第二个下拉菜单中。
Controller中的actionGetShops方法如下:
public function actionGetShops() { $srcId = $_GET['srcId']; $array = ThirdpartInterfaceConfig::options($srcId); $htmlContent = "<option value=''>全部</options>"; foreach($array as $k=>$v) { $htmlContent .= "<option value='{$k}'>{$v}</option>"; } echo $htmlContent; }
相关推荐
-
Yii2使用dropdownlist实现地区三级联动功能的方法
本文实例讲述了Yii2使用dropdownlist实现地区三级联动功能的方法.分享给大家供大家参考,具体如下: 视图部分: <?php use yii\helpers\Url; use yii\widgets\ActiveForm; use yii\helpers\ArrayHelper; use yii\helpers\Html; /* @var $this yii\web\View */ /* @var $model common\search\service\ItemSearch */ /
-
Yii把CGridView文本框换成下拉框的方法
本文实例讲述了Yii把CGridView文本框换成下拉框的方法.分享给大家供大家参考.具体实现方法如下: 使用yii的朋友都知道Yii中的CGridView默认显示提文本框了,那么我们要怎么把它转换成下拉框呢?本文就此分析一下解决方法. 默认情况下CGridView会生成一个文本框,但是这并不友好,用户往往希望知道有什么可选的,特别是数据库里存的是数字id的时候,我们希望将数字转换为可读的文本,这时候只需要修改一下表头的"filter"属性就行了,比如: 复制代码 代码如下: <
-
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
本文实例讲述了yii2框架中使用下拉菜单的自动搜索yii-widget-select2的方法.分享给大家供大家参考,具体如下: github中源代码地址:https://github.com/kartik-v/yii2-widget-select2 利用composer.phar安装此插件: php composer.phar require kartik-v/yii2-widget-select2 "*" 引用方法: use kartik\select2\Select2; 源代码:
-
浅析Yii2 GridView实现下拉搜索教程
废话不多说了,先给大家展示下效果图,如果大家还很满意请继续往下阅读: 具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其model中实现一个方法方便后续操作 /** * 下拉筛选 * @column string 字段 * @value mix 字段对应的值,不指定则返回字段数组 * @return mix 返回某个值或者数组 */ public static function dropDown ($column, $value = null) { $dropDownLis
-
Yii2框架dropDownList下拉菜单用法实例分析
本文实例讲述了Yii2框架dropDownList下拉菜单用法.分享给大家供大家参考,具体如下: dropDownList是yii框架中一个自带的下拉功能了解,我们可以直接使用dropDownList来实现html的select菜单,下面一起来看看. Yii2.0 默认的 dropdownlist 的使用方法. 复制代码 代码如下: <?php echo $form->field($model, 'name[]')->dropDownList(['a' => 'Item A', '
-
Yii实现的多级联动下拉菜单
本文实例讲述了Yii实现的多级联动下拉菜单.分享给大家供大家参考,具体如下: 1. 视图文件 <?php echo CHtml::activeDropDownList($model,'zmg_id',MemGroup::model()->getMemGroup(),array( 'class'=>'s_ipt w_120', 'empty'=>'请选择会员组', 'ajax' =>array( 'type'=>'GET', 'url'=>CController::
-
yii2带搜索功能的下拉框实例详解
简单的小功能,但是用起来还是蛮爽的.分享出来让更多的人有更快的开发效率,开开心心快乐编程. 如果你还没有使用过composer,你可就out了,看我的教程分享,composer简直就是必备神奇有木有.都说到这个点上了,我们赶紧使用composer进行安装吧. 先给大家展示下效果图: 下面给大家说下具体实现思路: composer require kartik-v/yii2-widget-select2 "@dev" #特别说明,因为这里安装的dev版本,也就是开发版本,不稳定版本,如果
-
Yii2中DropDownList简单用法示例
本文实例讲述了Yii2中DropDownList简单用法.分享给大家供大家参考,具体如下: 这里以实际应用为例讲解Yii2 DropDownList用法. 有一张分类表,无限极分类那种,表结构如下,pid就是父分类ID 这里我们要实现: 新建分类的时候,父分类可以从所有分类中任选一个或者不选 编辑分类时,父分类不能选择当前编辑的分类...如果选自己,父分类就是自己了,必然出错! 实现代码如下,我就贴上form的全部代码吧 <?php use common\models\Category; use
-
yii实现级联下拉菜单的方法
本文详细讲述了yii实现级联下拉菜单的方法,具体步骤如下: 1.模版中加入如下代码: <?php echo $form->dropDownList($model, 'src_type_id', OrderSrc::options(), array( <span style="white-space:pre"> </span>'id' => 'task-order-src-id', )); echo $form->dropDownList(
-
Bootstrap每天必学之级联下拉菜单
本文将介绍自定义的bootstrap级联下拉菜单,主要应用场合有省市级关联菜单等等,那么就先拿这个例子来讲,当然其他场景的关联菜单也同样适用.说实话,封装好一个通用的组件还是需要花费很多精力的和时间的,所谓通用,自然要考虑周全,叹!这次整理的Bootstrap关联select,里面也涉及到了很多jquery.ajax.springMVC等等知识点,可谓包罗万象! 首先,请允许我代表该自定义组件做一番小小的介绍. "hi,你好,我叫yunm.combox.js,主人给我起的名字,其实呢,挺俗的.我
-
jquery无限级联下拉菜单简单实例演示
本文实例讲述了jquery无限级联下拉菜单代码以及jquery无限级联下拉菜单实现思路.分享给大家供大家参考.具体如下: 最终效果图: 因为是级联,所以数据必须是树型结构的,这里的测试数据如下: 看下效果图: 1.效果图一: 2.效果图二: 3.效果图三: 由图可知,下拉框的个数并不是写死的,而是动态加载的.每当下拉框选择改变的时候,会发送一次ajax请求,请求成功返回json格式数据,当返回的数据不为空时(即有子节点时),则会向页面中添加一个下拉框,没有则不添加. 插件的实现代码如下: (fu
-
js面向对象封装级联下拉菜单列表的实现步骤
本实例开发的级联下拉菜单是根据已有json数据创建的DOM元素.点击文本框后,显示一级菜单.如果菜单中包含子菜单,菜单右侧会有指示箭头.点击菜单之后,会再显示下一级菜单,以此类推.当菜单下无子菜单时,选择菜单后会在文本框中显示. 打开后的级联菜单效果如图所示: 使用实例中封装好的插件,只需要有一个input元素,即可通过插件自动生成级联下拉菜单,html代码如下所示: <div style="margin-top:100px;text-align:center;"> <
-
js使用DOM设置单选按钮、复选框及下拉菜单的方法
本文实例讲述了js使用DOM设置单选按钮.复选框及下拉菜单的方法.分享给大家供大家参考.具体实现方法如下: 1.设置单选按钮 单选按钮在表单中即<input type="radio" />它是一组供用户选择的对象,但每次只能选一个.每一个都有checked属性,当一项选择为ture时,其它的都变为false. 先贴上一个例子: 复制代码 代码如下: <script type="text/javascript"> function ge
-
js实现全国省份城市级联下拉菜单效果代码
本文实例讲述了js实现全国省份城市级联下拉菜单效果代码.分享给大家供大家参考.具体如下: 这是一个大家都知道的网页小功能,很常见,全国省份与城市级联菜单,采用Select下拉的方式选择数据,不过现在很多都Ajax了,貌似这种老形式已经过时了,不过在兼容性方面,仍然是不落后的. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-conv-city-xl-menu-style-codes/ 具体代码如下: <!DOCTYPE html PUBLI
-
javascript实现多级联动下拉菜单的方法
本文实例讲述了javascript实现多级联动下拉菜单的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var arrItems1 = new Array(); var arrItemsGrp1 = new Array(); arrItems1[3] = "列二"; arrItemsGrp1[3] = 1; arrItems1[4] = &qu
-
javascript基于DOM实现省市级联下拉框的方法
本文实例讲述了javascript基于DOM实现省市级联下拉框的方法.分享给大家供大家参考.具体实现方法如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>省市级联下拉框</title
-
java之swing下拉菜单实现方法
本文实例讲述了java之swing下拉菜单实现方法.分享给大家供大家参考.具体如下: import java.awt.*; import javax.swing.*; import java.awt.event.*; public class test extends JApplet implements ItemListener{ JLabel jtf; ImageIcon a1, a2, a3; public void init(){ Container contentPane = getC
-
Javascript级联下拉菜单以及AJAX数据验证核心代码
虽然也使用了Prototype.js来编写,但是由于对它的不了解,类的实现仍然是使用了<JavaScript高级程序设计>里的方法.使用AJAX进行数据验证时,最初使用的是XML来当数据源,然而在使用了一段时间后,发现XML效率太低,于是又使用JSON来做为数据源. 一年过去了,客户又提出了新的需求,最初是只要输入框的两个数据相符就行,现在的要求是两个下拉菜单的数据也要相符,于是,我利用此机会,将代码重构了一次. 需求: 1.根据下拉菜单产品名称.产品包装的选择,右面的图片要进行相应的变化.
随机推荐
- 深入学习AngularJS中数据的双向绑定机制
- 各种系统中密码文件的位置
- MySQL Daemon failed to start错误解决办法
- 跨站脚本说明
- java之swing表格实现方法
- JAVA设计模式之建造者模式原理与用法详解
- 从别人那拷下来的几点Session使用的经验
- PHP下打开phpMyAdmin出现403错误的问题解决方法
- php查询mysql大量数据造成内存不足的解决方法
- php获取post中的json数据的实现方法
- JS正则表达式比较常见用法
- Python利用Beautiful Soup模块创建对象详解
- MySQL5.6主从复制(mysql数据同步配置)
- jQuery多项选项卡的实现思路附样式及代码
- 使用node.js对音视频文件加密的实例代码
- qq登录,新浪微博登录接口申请过程中遇到的问题
- 非常棒的jQuery图片轮播效果
- python实现下载指定网址所有图片的方法
- 三张图彻底了解Java中字符串的不变性
- C++中结构体的类型定义和初始化以及变量引用