fastadmin学习笔记-----下拉框联动

fastadmin学习笔记----- fastadmin下拉框联动

学习笔记

下拉框联动

在项目中经常需要用到下拉框联动。网上的资料多有不全,所以根据自身经验,以笔记的形式发布出来。仅供参考。

上边的" 状态 " 下拉框用的动态下拉框,就是,statelist 为后端传过来的数据,绑定到下拉框。

下边的 子状态 下拉框,是根据状态下拉框的改变,而进行改变。

php 复制代码
    <div class="form-group">
        <label class="control-label col-xs-12 col-sm-2">{:__('状态')}:</label>
        <div class="col-xs-12 col-sm-8">

            <select  id="c-stateId" data-rule="required" class="form-control selectpicker" name="row[stateId]">
                <option value="0"  >请选择状态</option>
                {foreach name="StateList" item="vo"}
                <option value="{$vo.id}"  >{$vo.title}</option>
                {/foreach}
            </select>
        </div>
    </div>

    <div class="form-group">
        <label for="c-machine_list_state" class="control-label col-xs-12 col-sm-2">{:__('子状态')}:</label>
        <div class="col-xs-12 col-sm-8">
            <select  id="c-fi_Sub" data-rule="required" class="form-control" name="row[title]">
                <option value="0" >请选择状态</option>
            </select>
        </div>
    </div>

通过 js 阿贾克斯ajax进行传递

javascript 复制代码
      // 机台状态下拉框选中值时
  $(document).on("change", "#c-stateId", function () {
       var thisval=$(this).val();
       Fast.api.ajax(
       { 
          url: 'state/State',
          data: {thisval: thisval},
       }, function (data, ret) {
          console.log(data);
          $("#c-fi_Sub").html(data.html);
           return false;
       }, function (data, ret) {
           //如果失败的回调
           alert(ret.msg);
           return false;
       });
  });

这是后端数据。

php 复制代码
    public function State()
    {
        $mciSerId = $this->request->post("thisval");

        if($mciSerId=="")
        {
            $backData = [];
            exit;
        }
        $rsList=Db::name("state_list")
            ->field("id,pid,title")
            ->where(" pid=$mciSerId ")
            ->order("id ASC")
            ->select();
        $html='<option value="0">请选择状态</option>';
        if(isset($rsList))
        {
            foreach ($rsList as $k=>$v){
                $html.=' <option value="'.$v["id"].'" >'.$v["title"].'</option>';
            }
        }
        $data=[];
        $data["html"]=$html;
        $backData=[];
        $backData["msg"]="成功";
        $backData["code"]=1;
        $backData["data"]=$data;
        return json($backData);
    }

以上是下拉框联动。

如转载请标明出处谢谢。

相关推荐
La Pulga2 小时前
【FreeRTOS源码学习笔记】任务延时列表
笔记·mcu·学习·嵌入式·freertos·实时操作系统
楚山之石3 小时前
【JCO】mpMRI 先行替代 TURBT 初始分期:BladderPath 随机试验让 MIBC 患者提前 45 天得到正确治疗
人工智能·学习·mri·医学影像
Peter-OK6 小时前
PostgreSQL学习笔记(入门-进阶-精通说明)
笔记·学习·postgresql
承渊政道7 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
橙橙笔记8 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
成都蜀味缘餐饮技术培训学校8 小时前
手撕烤兔技术培训实战指南,秘制腌料配方比例与调制手法
大数据·经验分享·笔记·其他·微信公众平台
希和20279 小时前
免费AI视频生成工具汇总(国内优先,适合做漫剧、短视频,Obsidian笔记版)
人工智能·笔记·音视频
大白玉米9 小时前
MoxPlayer 弹幕播放器源码智能解析线路管理系统自研内核
php
蒸蒸yyyyzwd11 小时前
秋招学习笔记 day109
笔记·八股
Hhy_110712 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio