今天就跟大家聊聊有關(guān)使用Angularjs如何實現(xiàn)下拉框聯(lián)動,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計制作、網(wǎng)站制作與策劃設(shè)計,來鳳網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:來鳳等地區(qū)。來鳳做網(wǎng)站價格咨詢:028-86922220第一種聯(lián)動方式
html
<select ng-model="s1" ng-options="selectData.name for selectData in selectDatas"> <option value="">--產(chǎn)品類目--</option> </select> <select ng-model="s2" ng-options="util.name for util in s1.utils"> <option value="">--產(chǎn)品類型--</option> </select>
js
$scope.selectDatas = [{ code: 01, name: "監(jiān)控安全類", utils: [ { code: 0101, name: "遙控門鎖" }, { code: 0102, name: "聲光報警器" }, { code: 0103, name: "攝像頭" } ] }, { code: 02, name: "大家電", utils: [ { code: 0201, name: "空調(diào)" }, { code: 0202, name: "洗衣機" }, { code: 0203, name: "洗碗機" } ] } ]
第二種聯(lián)動方式,這次是根據(jù)后臺要求,自己寫的一個聯(lián)動,當然沒有請求接口,就是單獨寫個固定值
1.聯(lián)動的思路
1.首先是選擇總類別
2.總類別選擇后,會關(guān)聯(lián)出設(shè)備
3.設(shè)備選擇后,會關(guān)聯(lián)出屬性
4.屬性選擇后,會根據(jù)屬性的不同,關(guān)聯(lián)出不同的項目
2.代碼
1)設(shè)備類別下拉
html
<select ng-model="devicetype" ng-options="x.category for x in devices" ng-change="changeType(devicetype)"> <option value="">--設(shè)備--</option> </select>
js
$scope.devices = [ {"category":"大家電"}, {"category":"紅外感應(yīng)"}, {"category":"監(jiān)控"}, {"category":"燈光"}, ] // 根據(jù)大類來獲取設(shè)備列表 $scope.changeType = function(x){ $log.log(x.category) //TODO: 真正使用肯定是要用$http來請求設(shè)備列表 //暫時測試使用下面的 switch(x.category){ case "大家電": $scope.yourdevices = [ {"dev":"電視機(mac:32309fsaf)"}, {"dev":"洗衣機(mac:32309fsaf)"}, {"dev":"冰箱(mac:32309dqsq)"}, {"dev":"空調(diào)(mac:32309fsaf)"} ]; break; } }
2)設(shè)備下拉
html
<select ng-model="yourdevice" ng-options="x.dev for x in yourdevices" ng-change="changeDev(yourdevice)"> <option value="">--你的設(shè)備--</option> </select>
js
$scope.changeDev = function (x) { $log.log(x.dev) switch (x.dev) { case '電視機(mac:32309fsaf)': $scope.params = [ { 'display_name': '開關(guān)', 'data_type': 'bool', 'data_range': [ '開','關(guān)'] }, { 'display_name': '溫度', 'data_type': 'num', 'data_range': [30] } ] //此處將json轉(zhuǎn)換成對象,方便下面的屬性相關(guān)操作,例如“開關(guān)”屬性,要找去其相關(guān)的類型數(shù)據(jù)和值 var paramsarr = $scope.params; var paramobj = { }; paramsarr.forEach(function (v, i) { paramobj[v.display_name] = v; }) $scope.paramobjs = paramobj; } }
3)屬性下拉
html
<select ng-model="param" ng-options="p.display_name for p in params" ng-change="changeParam(param.display_name)"> <option value="">--屬性--</option> </select>
js
//獲取數(shù)據(jù)類型和數(shù)據(jù)值 $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來進行判斷顯示,若數(shù)值類型位bool,則顯示單選框,若數(shù)值類型位num,則顯示位大小比較下拉框和文本框
<div ng-switch="type"> <div ng-switch-when="bool" > <label ng-repeat="x in views.data_range"> <input type="radio" name="radio" value="{{x}}">{{x}} </label> </div> <div ng-switch-when="num" > <select ng-model="compare"> <option value="0"><</option> <option value="1">=</option> <option value="2">></option> </select> {{views.data_range}} <input type="text"> </div> </div>
看完上述內(nèi)容,你們對使用Angularjs如何實現(xiàn)下拉框聯(lián)動有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)成都做網(wǎng)站行業(yè)資訊頻道,感謝大家的支持。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章標題:使用Angularjs如何實現(xiàn)下拉框聯(lián)動-創(chuàng)新互聯(lián)
文章起源:http://m.newbst.com/article48/jjdep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、小程序開發(fā)、網(wǎng)站內(nèi)鏈、建站公司、外貿(mào)建站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)