[英]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.