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

以上是下拉框联动。

如转载请标明出处谢谢。

相关推荐
lilihuigz3 小时前
Tutor LMS 4.0 Beta版全新上线:以学习者为中心的移动优先学习体验
学习·在线教育·lms
William Dawson3 小时前
2026软考中级系统集成项目管理工程师备考笔记
笔记·系统集成项目管理工程师
love530love6 小时前
精简版|Claude-HUD 插件介绍 + 一键安装教程
人工智能·windows·笔记
kuinnebula6 小时前
RTSP学习
学习
想成为优秀工程师的爸爸6 小时前
第三十篇技术笔记:郭大侠学UDS - 人有生老三千疾,望闻问切良方医
网络·笔记·网络协议·tcp/ip·信息与通信
北顾笙9807 小时前
LLM学习-day04
学习
tq10868 小时前
数学:约束表征空间的最小闭包
笔记
lzj_pxxw9 小时前
W25Q64存储芯片 软件设计刚需常识
stm32·单片机·嵌入式硬件·mcu·学习
Slow菜鸟9 小时前
AI学习篇(四) | AI设计类Skills推荐清单(2026年)
人工智能·学习
freexyn9 小时前
Matlab自学笔记七十六:表达式的展开、因式分解、化简、合并同类项
笔记·算法·matlab