JavaScript

超轻量级php框架startmvc

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

更新时间:2020-04-21 00:27:11 作者:startmvc
本文实例为大家分享了基于MVC三级联动的具体代码,供大家参考,具体内容如下Html代码:&l

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