Home  >  Article  >  Backend Development  >  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
WBOYOriginal
2016-07-13 10:21:44918browse

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

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('<&#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>

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

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...
Statement:
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