Home > Backend Development > PHP Tutorial > How to implement cascading drop-down menu in yii, implement drop-down menu in yii_PHP tutorial

How to implement cascading drop-down menu in yii, implement drop-down menu in yii_PHP tutorial

WBOY
Release: 2016-07-13 10:21:44
Original
954 people have browsed it

How 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:

<&#63;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',
 ))
&#63;>

Copy after login

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;
}

Copy after login

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('<&#63;php echo $this->createUrl('getShops')&#63;>', {
  'srcId': $('#task-order-src-id').val()
 }, function(html_content) {
  $('#task-shop-id')
  .html(html_content)
  .find('option[value=<&#63;php echo $model->src_shop_id&#63;>]')
   .attr('selected', 'selected');
 });
 }
});
</script>

Copy after login

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;
}
Copy after login

How to use drop-down menu to filter in yii framework

Use ajax to send the selected data to the controller, and obtain the results and display them on the view

How to make a drop-down menu in yii, it is not linked to the second level, it is the kind that if I want to send an email to someone, I can have a drop-down menu to choose who I want to send it to

Use ajax and trigger the onchange event to submit

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/854353.htmlTechArticleYii's method of implementing cascading drop-down menus, yii's implementation of drop-down menus This article details how yii's implementation of cascading drop-down menus Method, the specific steps are as follows: 1. Add the following code to the template: php ec...
Related labels:
yii
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template