首页 > 编程 > JavaScript > 正文

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

2019-11-19 17:48:24
字体:
来源:转载
供稿:网友

本文实例为大家分享了基于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>

最终显示效果:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表