簡體   English   中英

Angular.js:設置從ID中選擇的默認值

[英]Angular.js: set default selected from ID

我有一個angular.js單頁應用程序,其初始數據是從其他端點收集的。

該應用程序獲取代表已保存模型的ID列表,以及用於填充一些級聯下拉菜單的選項樹。

如何根據模型中的ID在樹中設置默認路徑?

一些說明性代碼:

楷模:

DefaultOptions = [
    {"Id" : 044},
    {"Id" : 142},
    {"Id" : 244}
];

OptionsTree = [
    {"Text" : "Option1",
     "subOptions" : [
          {"Text" : "SubOption1", "Id" : 044},
          {"Text" : "SubOption2", "Id" : 142}
      ]},
    {"Text" : "Option2",
     "subOptions" : [
          {"Text" : "SubOptionA", "Id" : 3033},
          {"Text" : "SubOptionB", "Id" : 244}
      ]}
];

HTML:

<div ng-repeat="member in DefaultOptions">
    <select ng-model="option" 
            ng-options="o as o.Text for o in OptionsTree">
    </select>

    <select ng-model="subOption" 
            ng-options="s as s.Text for s in option.subOptions"
            ng-disabled="!option" 
            ng-change="member.Id = subOption.Id">
    </select>
</div>

如果用戶選擇一個新的HTML,但無法設置默認值,則此HTML將正確更新DefaultOptions ID。 我想念什么?

更改您選擇的ng-model以解決ng-repeat

然后將其放在您的控制器中:

// Main dropdown
$scope.member.option = OptionsTree[0];

接着:

// Sub dropdown
$scope.member.subOption = OptionsTree[0].subOptions[0].id

由於您的問題沒有說明您是否想要id或整個對象,因此我假設整個對象用於主下拉列表,而僅假設id用於子下拉列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM