成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

使用Angularjs如何實(shí)現(xiàn)下拉框聯(lián)動(dòng)-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)使用Angularjs如何實(shí)現(xiàn)下拉框聯(lián)動(dòng),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作與策劃設(shè)計(jì),來(lái)鳳網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:來(lái)鳳等地區(qū)。來(lái)鳳做網(wǎng)站價(jià)格咨詢:028-86922220

第一種聯(lián)動(dòng)方式

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: "聲光報(bào)警器" },
          { code: 0103, name: "攝像頭" }
        ]
      },
      {
        code: 02,
        name: "大家電",
        utils: [
          { code: 0201, name: "空調(diào)" },
          { code: 0202, name: "洗衣機(jī)" },
          { code: 0203, name: "洗碗機(jī)" }
        ]
      }
    ]

第二種聯(lián)動(dòng)方式,這次是根據(jù)后臺(tái)要求,自己寫的一個(gè)聯(lián)動(dòng),當(dāng)然沒(méi)有請(qǐng)求接口,就是單獨(dú)寫個(gè)固定值

1.聯(lián)動(dòng)的思路

1.首先是選擇總類別
2.總類別選擇后,會(huì)關(guān)聯(lián)出設(shè)備
3.設(shè)備選擇后,會(huì)關(guān)聯(lián)出屬性
4.屬性選擇后,會(huì)根據(jù)屬性的不同,關(guān)聯(lián)出不同的項(xiàng)目

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ù)大類來(lái)獲取設(shè)備列表
$scope.changeType = function(x){
  $log.log(x.category)
  //TODO: 真正使用肯定是要用$http來(lái)請(qǐng)求設(shè)備列表
  //暫時(shí)測(cè)試使用下面的
  switch(x.category){
  case "大家電":
      $scope.yourdevices = [
        {"dev":"電視機(jī)(mac:32309fsaf)"},
        {"dev":"洗衣機(jī)(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 '電視機(jī)(mac:32309fsaf)':
   $scope.params = [
    {
     'display_name': '開(kāi)關(guān)',
     'data_type': 'bool',
     'data_range': [ '開(kāi)','關(guān)']
    },
    {
     'display_name': '溫度',
     'data_type': 'num',
     'data_range': [30]
    }
   ]
   //此處將json轉(zhuǎn)換成對(duì)象,方便下面的屬性相關(guān)操作,例如“開(kāi)關(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)屬性項(xiàng)

html

使用ng-swtch來(lái)進(jìn)行判斷顯示,若數(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">&lt;</option>
        <option value="1">=</option>
        <option value="2">&gt;</option>
      </select>
      {{views.data_range}}
      <input type="text">
    </div>
  </div>

看完上述內(nèi)容,你們對(duì)使用Angularjs如何實(shí)現(xiàn)下拉框聯(lián)動(dòng)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都做網(wǎng)站行業(yè)資訊頻道,感謝大家的支持。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章標(biāo)題:使用Angularjs如何實(shí)現(xiàn)下拉框聯(lián)動(dòng)-創(chuàng)新互聯(lián)
文章起源:http://jinyejixie.com/article48/jjdep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版小程序開(kāi)發(fā)、網(wǎng)站內(nèi)鏈、建站公司、外貿(mào)建站網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
班玛县| 乌恰县| 乳源| 康马县| 克什克腾旗| 岢岚县| 芜湖市| 漯河市| 庐江县| 剑阁县| 芦溪县| 安泽县| 罗江县| 栾城县| 弥渡县| 南京市| 宝坻区| 建阳市| 通渭县| 柳林县| 团风县| 隆林| 运城市| 民权县| 民乐县| 时尚| 大田县| 桐柏县| 海口市| 巴塘县| 石门县| 清流县| 辽阳县| 凤城市| 黔东| 曲松县| 陇西县| 新郑市| 祁阳县| 怀安县| 青海省|