簡體   English   中英

如何使所選值與 AngularJS 中的選項值不同?

[英]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.CodeCode屬性從我們選擇的 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.

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