簡體   English   中英

如何在角度<select>中獲取選定的選項

[英]How to get selected option in angular <select>

試圖弄清楚如何以角度獲取所選項目的ID和名稱。 基本上是全新的js和棱角分明所以不太確定我做錯了什么。 我確信它很簡單,我很想念。

我有一個html元素,看起來像:

 <md-input-container>
     <label>Difficulty</label>
     <md-select ng-model="difficulty" ng-change="update()">
         <md-option ng-repeat="difficulty in difficulties">
             {{difficulty.Name}}
         </md-option>
    </md-select>
</md-input-container>

調用api獲取困難列表會返回以下json

[{DifficultyID: 1, Name: "Easy"}, {DifficultyID: 2, Name: "Medium"}, {DifficultyID: 3, Name: "Hard"}]

在我的控制器中,我已經定義了該方法

$scope.update = function () {
            console.log($scope.item.Name);
        }

總是得到一個未定義的名稱。

在這種情況下, ng-value可能很有用。 Plunker工作。

<md-select ng-model="difficulty">
     <md-option ng-value="opt" ng-repeat="opt in difficulties" ng-click="update(opt)">
         {{opt.Name}}
     </md-option>
</md-select>

我已經引入了opt變量以消除重復difficulty 除此之外,我正在ng-click特定選項而不是在父md-select上進行ng-change

您選擇的選項應該在您在ng-model中設置的模型中。

如果要訪問您選擇的選項,您應該在范圍內測試您的難度模型

$scope.difficulty 

應該保留您選擇的項目。

想看看它的工作嘗試

$scope.$watch('dificulty',function(newVal,oldVal){
  console.log($scope.dificulty);
});

每次更換模型都會打印出來。 順便說一下,我沒有使用該指令。 但我沒有看到該指令的可用屬性支持ng-change。

希望能幫助到你

暫無
暫無

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

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