基于MVC方式实现三级联动(JavaScript)

发布时间 - 2026-01-10 22:44:29    点击率:

本文实例为大家分享了基于MVC三级联动的具体代码,供大家参考,具体内容如下

Html代码:

<div class="box">
  <select class="make">
    <option>请选择品牌</option>
  </select>
  <select class="model">
    <option>请选择车型</option>
  </select>
  <select class="car">
    <option>请选择车款</option>
  </select>
</div>


js代码:

<script src="jquery-1.8.3.min.js"></script>
<script src="car.make.js"></script>
<script src="car.car.js"></script>
<script src="car.model.js"></script>
<script>
  //MVC与OOP模式
  /*
  * mvc编程思想
  * model  模型 (数据)
  * controller  控制器
  * view  视图
  * 下拉事件  由控制器处理
  * 获取数据  由模型处理
  * 数据的显示 由视图处理
  * 控制器  发布指令  调用模型获取数据
  *
  * 控制器拿到数据后发布指令将数据交给视图进行显示
  *
  *
  * */

  //定义一个控制器对象
  var ctrl={
    //初始化函数
    init:function(){
      this.createBrand();
    },
    //品牌函数
    createBrand:function(){

      //调用模型获取数据
      var data=model.getBrand();

      //将数据交给视图去渲染(显示)
      view.showBrand(data);

      this.createModel();
      this.brandChange();
      this.modelChange();
    },
    //车型函数
    createModel:function(){

      var id=$('.make').val();
      var data=model.getModel(id);
      view.showModel(data);
      this.createCar();
    },
    //车款函数
    createCar:function(){

      var id=$('.model').val();
      var data=model.getCar(id);
      view.showCar(data);
    },
    //品牌点击函数
    brandChange:function(){

      $('.make').change(function(){
        ctrl.createModel();
      })
    },
    //车型点击函数
    modelChange:function(){

      $('.model').change(function(){
        ctrl.createCar();
      })
    }
  };

  //定义一个模型对象
  var model={
    //获取第一个数据
    getBrand:function(){

      return car_make;
    },
    //获取第二个数据
    getModel:function(id){

      return car_model[id];
    },
    //获取第三个数据
    getCar:function(id){

      return car_car[id];
    }
  };

  //定义一个视图对象
  var view={
    //下拉列表
    createSelect:function(title,data,element){

      var html='<option>'+title+'</option>';
      $.each(data,function(){

        html+='<option value="'+this.id+'">'+this.name+'</option>'
      });

      element.html(html);

      element.children().eq(1).attr('selected',true);
    },
    //品牌
    showBrand:function(data){

      this.createSelect('请选择品牌',data,$('.make'));
    },
    //车型
    showModel:function(data){

      this.createSelect('请选择车型',data,$('.model'));
    },
    //车款
    showCar:function(data){

      this.createSelect('请选择车款',data,$('.car'));
    }
  };

  ctrl.init();

</script>

最终显示效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# MVC  # 三级联动  # 详解ASP.NET MVC之下拉框绑定四种方式  # ASP.NET MVC下拉框联动实例解析  # asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常  # 基于MVC3方式实现下拉列表联动(JQuery)  # Spring MVC中Ajax实现二级联动的简单实例  # MVC实现下拉框联动效果(单选)  # 请选择  # 第二个  # 大家分享  # 具体内容  # 大家多多  # 显示效果  # jquery  # src  # car  # js  # script  # min  # var  # ctrl  # init  # view  # OOP 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Python文件流缓冲机制_IO性能解析【教程】  如何在宝塔面板中修改默认建站目录?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Laravel如何创建自定义中间件?(Middleware代码示例)  Python正则表达式进阶教程_复杂匹配与分组替换解析  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel如何使用Eloquent进行子查询  如何用狗爹虚拟主机快速搭建网站?  如何挑选优质建站一级代理提升网站排名?  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  如何快速搭建高效WAP手机网站吸引移动用户?  制作电商网页,电商供应链怎么做?  Laravel如何处理CORS跨域请求?(配置示例)  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  如何快速生成高效建站系统源代码?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  网易LOFTER官网链接 老福特网页版登录地址  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  java ZXing生成二维码及条码实例分享  如何用花生壳三步快速搭建专属网站?  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  C++时间戳转换成日期时间的步骤和示例代码  IOS倒计时设置UIButton标题title的抖动问题  大型企业网站制作流程,做网站需要注册公司吗?  使用豆包 AI 辅助进行简单网页 HTML 结构设计  如何快速搭建高效香港服务器网站?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  网站图片在线制作软件,怎么在图片上做链接?  js代码实现下拉菜单【推荐】  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  如何彻底删除建站之星生成的Banner?  实例解析Array和String方法  深圳网站制作培训,深圳哪些招聘网站比较好?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  EditPlus中的正则表达式 实战(4)  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  Laravel观察者模式如何使用_Laravel Model Observer配置  免费视频制作网站,更新又快又好的免费电影网站?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何快速生成可下载的建站源码工具?  千库网官网入口推荐 千库网设计创意平台入口  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  详解Oracle修改字段类型方法总结  高防服务器租用首荐平台,企业级优惠套餐快速部署