服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|编程技术|正则表达式|

服务器之家 - 编程语言 - PHP教程 - yii实现级联下拉菜单的方法

yii实现级联下拉菜单的方法

2020-07-21 14:02yii教程网 PHP教程

这篇文章主要介绍了yii实现级联下拉菜单的方法,需要的朋友可以参考下

本文详细讲述了yii实现级联下拉菜单的方法,具体步骤如下:

1.模版中加入如下代码:

?
1
2
3
4
5
6
7
8
<?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方法。内容如下

?
1
2
3
4
5
6
7
8
9
10
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代码,实现当第一个下拉菜单变化时给第二个下拉菜单进行内容赋值。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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方法如下:

?
1
2
3
4
5
6
7
8
9
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;
}

延伸 · 阅读

精彩推荐
  • PHP教程PHP html_entity_decode()函数讲解

    PHP html_entity_decode()函数讲解

    今天小编就为大家分享一篇关于PHP html_entity_decode()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来...

    php参考手册3842019-06-10
  • PHP教程php中的strpos使用示例

    php中的strpos使用示例

    strpos()函数返回字符串在另一个字符串中第一次出现的位置。如果没有找到该字符串,则返回 false,下面看示例使用方法...

    PHP技术网2242020-06-14
  • PHP教程php输出表格的实现代码(修正版)

    php输出表格的实现代码(修正版)

    在php开发过程中,对于大量的数据考虑用表格输出的时候可以用得到,但部分朋友可能不是很清楚原理所以这里为大家准备了代码。希望对学习php的朋友有...

    php教程网2932019-11-13
  • PHP教程解析thinkphp import 文件内容变量失效的问题

    解析thinkphp import 文件内容变量失效的问题

    本篇文章是对thinkphp import文件内容变量失效的问题进行了详细的分析介绍,需要的朋友参考下 ...

    PHP教程网2722020-04-21
  • PHP教程PHP聊天室简单实现方法详解

    PHP聊天室简单实现方法详解

    这篇文章主要介绍了PHP聊天室简单实现方法,结合实例形式详细分析了php聊天室相关数据库操作与ajax交互等操作技巧,需要的朋友可以参考下...

    hello_sgw4062019-07-22
  • PHP教程PHP操作Redis常用技巧总结

    PHP操作Redis常用技巧总结

    这篇文章主要介绍了PHP操作Redis常用技巧,结合实例形式总结分析了php针对redis的连接、认证、string、hash等操作技巧与注意事项,需要的朋友可以参考下 ...

    编程人,在天涯2852019-10-11
  • PHP教程如何用C语言编写PHP扩展的详解

    如何用C语言编写PHP扩展的详解

    本篇文章是对用C语言编写PHP扩展进行了详细的分析介绍,需要的朋友参考下 ...

    PHP教程网3812020-04-13
  • PHP教程php whois查询API制作方法

    php whois查询API制作方法

    网站们经常需要查询网站whois信息,这里介绍一个使用php制作的whois api接口,方法也很简单,下面详细介绍一下。 ...

    PHP教程网3712019-12-01