使用Angularjs如何实现下拉框联动
今天就跟大家聊聊有关使用Angularjs如何实现下拉框联动,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联是一家集网站建设,黄州企业网站建设,黄州品牌网站建设,网站定制,黄州网站建设报价,网络营销,网络优化,黄州网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
第一种联动方式
html
js
$scope.selectDatas = [{ code: 01, name: "监控安全类", utils: [ { code: 0101, name: "遥控门锁" }, { code: 0102, name: "声光报警器" }, { code: 0103, name: "摄像头" } ] }, { code: 02, name: "大家电", utils: [ { code: 0201, name: "空调" }, { code: 0202, name: "洗衣机" }, { code: 0203, name: "洗碗机" } ] } ]
第二种联动方式,这次是根据后台要求,自己写的一个联动,当然没有请求接口,就是单独写个固定值
1.联动的思路
1.首先是选择总类别
2.总类别选择后,会关联出设备
3.设备选择后,会关联出属性
4.属性选择后,会根据属性的不同,关联出不同的项目
2.代码
1)设备类别下拉
html
js
$scope.devices = [ {"category":"大家电"}, {"category":"红外感应"}, {"category":"监控"}, {"category":"灯光"}, ] // 根据大类来获取设备列表 $scope.changeType = function(x){ $log.log(x.category) //TODO: 真正使用肯定是要用$http来请求设备列表 //暂时测试使用下面的 switch(x.category){ case "大家电": $scope.yourdevices = [ {"dev":"电视机(mac:32309fsaf)"}, {"dev":"洗衣机(mac:32309fsaf)"}, {"dev":"冰箱(mac:32309dqsq)"}, {"dev":"空调(mac:32309fsaf)"} ]; break; } }
2)设备下拉
html
js
$scope.changeDev = function (x) { $log.log(x.dev) switch (x.dev) { case '电视机(mac:32309fsaf)': $scope.params = [ { 'display_name': '开关', 'data_type': 'bool', 'data_range': [ '开','关'] }, { 'display_name': '温度', 'data_type': 'num', 'data_range': [30] } ] //此处将json转换成对象,方便下面的属性相关操作,例如“开关”属性,要找去其相关的类型数据和值 var paramsarr = $scope.params; var paramobj = { }; paramsarr.forEach(function (v, i) { paramobj[v.display_name] = v; }) $scope.paramobjs = paramobj; } }
3)属性下拉
html
js
//获取数据类型和数据值 $scope.changeParam = function (x) { var pobj = $scope.paramobjs; $scope.views = pobj[x]; $scope.type = $scope.views.data_type $log.log($scope.views) }
4)属性项
html
使用ng-swtch来进行判断显示,若数值类型位bool,则显示单选框,若数值类型位num,则显示位大小比较下拉框和文本框
{{views.data_range}}
看完上述内容,你们对使用Angularjs如何实现下拉框联动有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
本文标题:使用Angularjs如何实现下拉框联动
文章地址:http://hbruida.cn/article/jgcojj.html