


How to implement cascading drop-down menu in yii, implement drop-down menu in yii_PHP tutorial
Jul 13, 2016 am 10:21 AMHow to implement cascading drop-down menu in yii, implement drop-down menu in yii
This article details the method of implementing cascading drop-down menus in Yii. The specific steps are as follows:
1. Add the following code to the template:
<?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', )) ?>
In this code, OrderSrc_options() first reads a drop-down menu. Call the options method in the OrderScr model. The content is as follows
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. Then add JS code to the template page to assign content to the second drop-down menu when the first drop-down menu changes.
<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>
In this JS code, a program is called to obtain the value of the second drop-down menu (call the actionGetShops method in the Controller), and any value is appended to the second drop-down menu.
The actionGetShops method in Controller is as follows:
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; }
Use ajax to send the selected data to the controller, and obtain the results and display them on the view
Use ajax and trigger the onchange event to submit

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to use PHP framework Yii to develop a highly available cloud backup system

Yii2 vs Phalcon: Which framework is better for developing graphics rendering applications?

Data query in Yii framework: access data efficiently

Symfony vs Yii2: Which framework is better for developing large-scale web applications?

How to convert yii objects into arrays or directly output to json format

Yii2 Programming Guide: How to run Cron service

Form builder in Yii framework: building complex forms
