yii实现级联下拉菜单的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-03-28 15:01:19 浏览: 评论:0
这篇文章主要介绍了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;
- }
Tags: yii级联下拉菜单
- 上一篇:YII中assets的使用示例
- 下一篇:yii操作session实例简介
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)