博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssm框架maven工程一、二、三级分类以及读取模板id
阅读量:3904 次
发布时间:2019-05-23

本文共 2499 字,大约阅读时间需要 8 分钟。

1.商品录入【选择商品分类】

1.1需求分析

在商品录入界面实现商品分类的选择(三级分类)效果如下:

当用户选择一级分类后,二级分类列表要相应更新,当用户选择二级分类后,三级列表要相应更新。

1.2准备工作

(1)在mall-seller-web工程中创建ItemCatController.java(可拷贝运营商后台的代码)

(2)创建item_catService.js  (可拷贝运营商后台的代码)

(3)修改goodsController.js,引入itemCatService

(4)修改goods_edit.html,添加引用

<script type="text/javascript" src="../js/base.js"></script>

<script type="text/javascript" src="../js/service/goodsService.js"></script>

<script type="text/javascript" src="../js/service/itemCatService.js"></script>

<script type="text/javascript" src="../js/controller/baseController.js"></script>

<script type="text/javascript" src="../js/controller/goodsController.js"></script>

1.3代码实现

1.3.1一级分类下拉选择框

goodsController.js增加代码

//读取一级分类

$scope.selectItemCat1List=function(){

      itemCatService.findByParentId(0).success(

      function(response){

      $scope.itemCat1List=response;

      }

      );

}

页面加载调用该方法

<body class="hold-transition skin-red sidebar-mini" ng-app="mall" ng-controller="goodsController" ng-init="selectItemCat1List()">

修改goods_edit.html一级分类下拉选择框

<select class="form-control" ng-model="entity.goods.category1Id" ng-options="item.id as item.name for item in itemCat1List"></select>

ng-options属性可以在表达式中使用数组或对象来自动生成一个select中的option列表。ng-options与ng-repeat很相似,很多时候可以用ng-repeat来代替ng-options。但是ng-options提供了一些好处,例如减少内存提高速度,以及提供选择框的选项来让用户选择。

运行效果如下:

 

 

1.3.2二级分类下拉选择框

在goodsController.js增加代码:

//读取二级分类

$scope.$watch('entity.goods.category1Id', function(newValue, oldValue) {          

     //根据选择的值,查询二级分类

     itemCatService.findByParentId(newValue).success(

     function(response){

     $scope.itemCat2List=response;     

     }

     );    

});

$watch方法用于监控某个变量的值,当被监控的值发生变化,就自动执行相应的函数。

修改goods_edit.html中二级分类下拉框

<select class="form-control select-sm" ng-model="entity.goods.category2Id" ng-options="item.id as item.name for item in itemCat2List"></select>

1.3.3三级分类下拉选择框

在goodsController.js增加代码:

//读取三级分类

$scope.$watch('entity.goods.category2Id', function(newValue, oldValue) {          

     //根据选择的值,查询二级分类

     itemCatService.findByParentId(newValue).success(

     function(response){

     $scope.itemCat3List=response;     

     }

     );    

 });

修改goods_edit.html中三级分类下拉框

<select class="form-control select-sm" ng-model="entity.goods.category3Id" ng-options="item.id as item.name for item in itemCat3List"></select>

1.3.4读取模板ID

在goodsController.js增加代码:

    //三级分类选择后  读取模板ID

    $scope.$watch('entity.goods.category3Id', function(newValue, oldValue) {    

        itemCatService.findOne(newValue).success(

          function(response){

            $scope.entity.goods.typeTemplateId=response.typeId; //更新模板ID    

          }

        );    

    });

在goods_edit.html显示模板ID

模板ID:{

{entity.goods.typeTemplateId}}

 

你可能感兴趣的文章
项目管理二
查看>>
Mac vscode调试django项目问题
查看>>
高版本jQuery替换现有项目中低版本jQuery问题(MacOS下获取源代码编译jQuery)
查看>>
记一次Win10磁盘分区可用空间短时间内不断减少直至为0处理过程
查看>>
windows下搭建vue开发环境+IIS部署
查看>>
设置vue.config.js解决跨域访问问题
查看>>
Mac平台,python3.7实时获取摄像头数据,通过django框架输出到web实时播放简单实例
查看>>
Tomcat 提示Invalid message received with signature 20559
查看>>
mysql不能启动如何解决
查看>>
使用Myeclipse创建Maven webapp项目问题处理
查看>>
使用Myeclipse创建Maven webapp项目问题处理——jsp文件中引用js,css
查看>>
Centos 安装.NET CORE 3.1
查看>>
.net core 3.1 web project部署到Cent OS
查看>>
VS2015 编译mysql
查看>>
A公司的烦恼
查看>>
Linux路由表的结构与算法分析
查看>>
linux网络内核结构
查看>>
linux路由内核实现分析(三)---路由查找过程
查看>>
linux路由内核实现分析(四)---路由缓存机制
查看>>
并查集学习
查看>>