PHPIN.NET

 找回密码
 立即注册
查看: 6131|回复: 0

[技巧手记] Yii2 如何实现二级联动?

[复制链接]

469

主题

31

回帖

5509

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5509
发表于 2016-3-2 13:57:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
视图
场景:点击一个分类,更换一个URL
  1. <?php $form = ActiveForm::begin([
  2.     'id'     => strtolower($model->formName()),
  3.     'action' => ['/apitools/default/index']
  4. ]); ?>

  5. <?= $form->field($model, 'type')->dropDownList(
  6.     ApiTool::getType(),
  7.     ['prompt' => '选择一个分类']
  8. ) ?>
  9. <?= $form->field($model, 'url')->dropDownList(
  10.     [],
  11.     ['prompt' => '选择一个url']
  12. ) ?>
  13. <?php ActiveForm::end(); ?>
复制代码
jQuery
关于 JsBlock,参考官方文档
  1. <?php JsBlock::begin() ?>
  2.     <script>
  3.             jQuery("#apitool-type").change(function () {
  4.                 var html = '';
  5.                 $.ajax({
  6.                     url: '<?= \yii\helpers\Url::to(["/apitools/default/type-list"]) ?>',
  7.                     type: 'GET',
  8.                     dataType: 'json',
  9.                     data: {type: $(this).val()},
  10.                     success: function (msg) {
  11.                         $.each(msg, function (key, val) {
  12.                             html += '<option value="' + key + '">' + val + '</option>';
  13.                         });
  14.                         $("#apitool-url").html(html);
  15.                     }
  16.                 })
  17.             });
  18.         });
  19.     </script>
  20. <?php JsBlock::end() ?>
复制代码
Controller
返回JSON的 key-value
  1. public function actionTypeList()
  2. {
  3.     $type = \Yii::$app->request->get('type');
  4.     return Json::encode(ApiTool::getUrl($type));
  5. }
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-4-24 21:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表