[英]How to make selected value different than options value in AngularJS?
如何使所選值與 AngularJS 中的 select 選項中給出的值不同。 這是我現在擁有的:
我想要實現的是,將所選值顯示為“EN”,但里面的選項是“English”,“Italian”,......
下面是我的 select 元素的 HTML 代碼:
<select class="select-language d-md-none d-inline-block" ng-options="lang.Lang_Code for lang in languagesMenu"
ng-model="language" ng-change="changeLanguage()" ng-cloak>
</select>
這是我的語言菜單的 JavaScript:
// navigation languages
$scope.languagesMenu = [
{
Language: "English",
Country: "USA",
Code: "en/us/",
Lang_Code: "en"
}, {
Language: "Italian",
Country: "IT",
Code: "it/it/",
Lang_Code: "it"
}
]
這是changeLanguage function:
// change language
$scope.changeLanguage = function () {
$window.open($scope.language.Code, '_self');
}
如何將選項設置為 JSON 數組中的“語言”,並將所選值設置為“Lang_Code”?
以下代碼段可能對我們有所幫助:
ng-options="item.Language for item in languagesMenu "
到 select 顯示語言菜單 object 中的哪個屬性$scope.selectedName.Code
將Code
屬性從我們選擇的 object (感謝ng-model
)到 go 重定向到相關頁面 var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $window) { $scope.languagesMenu = [{ Language: "English", Code: "us/" }, { Language: "Italian", Code: "it/" }, { Language: "Chinese", Code: "cn/" } ]; $scope.changeLanguage = function() { $window.open($scope.selectedName.Code, '_self'); } });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script> <div ng-app="myApp" ng-controller="myCtrl"> <select ng-model="selectedName" ng-options="item.Language for item in languagesMenu " ng-change="changeLanguage()"> </select> Selected language: {{selectedName.Code }} </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.