2017-02-14 71 views
1

我正在使用Angular Js v1.6.1。我用下面的代碼生成選擇列表問題與選擇標記在Firefox中的ng模型角js

<select class="form-control" ng-model="selectedLocation"> 
    <option ng-repeat="item in locations" value="{{item}}"> 
      {{item}} 
    </option> 
</select> 

谷歌瀏覽器我得到的結果除外如圖圖像的下方。 enter image description here

但在Firefox,我得到了以下結果

enter image description here

有在Firefox中選擇位置後的空白。如何解決這個問題?

位置對象:

enter image description here

引導版本:3.3.7 火狐版本:51.0.1(32位)

+0

你能張貼'locations'對象以及告訴引導和firefox版本 – nivas

+0

@nivas我編輯了帖子,並添加你要的細節。 –

+0

你可以在你初始化'selectedLocation'範圍的地方提供代碼嗎? – Korte

回答

0

改爲嘗試ng-options

你可以檢查下面,讓我知道如果問題仍然存在?

(function() { 
 
    'use strict'; 
 

 
    angular.module('myApp', []); 
 
    angular.module('myApp').controller('MainCtrl', ['$scope', 
 
    function($scope) { 
 
     $scope.locations = ['Farm1', 'Farm2', 'All']; 
 
    } 
 
    ]); 
 

 
}());
<!DOCTYPE html> 
 
<html ng-app="myApp"> 
 

 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
</head> 
 

 
<body class="container" ng-controller="MainCtrl"> 
 
    <div>Select Item</div> 
 

 
    <select class="form-control" ng-init="selectedLocation= locations[0]" ng-model="selectedLocation" ng-options="item as item for item in locations" style="width:150px"> 
 
    </select> 
 
    <div>Selected item: {{selectedLocation}}</div> 
 
</body> 
 

 
</html>

+0

仍然沒有成功。這裏是屏幕截圖http://i.imgur.com/abBaGuI.png –

+0

@NewStark我認爲這是CSS的問題。你可以嘗試在同一個模板本身打印選定的值嗎? –

+0

你是什麼意思由相同的模板和什麼選擇的價值。通過選擇標籤選擇的值? –

0

在這裏,我用同樣的版本,但我沒有任何問題。 plunker這裏和這裏image這是不建議的方式來使用選項NG重複,如果你想動態生成選項

// Code goes here 
 

 
var app = angular.module('myApp', []); 
 

 
app.controller('MainCtrl', function ($scope) { 
 
    $scope.locations = ['Farm1', 'Farm2', 'All']; 
 
});
<!DOCTYPE html> 
 
<html ng-app="myApp"> 
 

 
    <head> 
 
    <script data-require="[email protected]" data-semver="2.2.4" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 
 
    <script data-require="[email protected]" data-semver="1.6.1" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js"></script> 
 
    <link data-require="[email protected]" data-semver="3.3.7" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" /> 
 
    <script data-require="[email protected]" data-semver="3.3.7" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script src="script.js"></script> 
 
    </head> 
 

 
    <body class="container" ng-controller="MainCtrl"> 
 
    <div>Select Item</div> 
 
    
 
    <select class="form-control" ng-model="selectedLocation"> 
 
    <option ng-repeat="item in locations" value="{{item}}"> 
 
      {{item}} 
 
    </option> 
 
    </select> 
 
    
 
    <div>Selected item: {{selectedLocation}}</div> 
 

 
    </body> 
 

 
</html>

+0

仍未解決。以下是由我的代碼生成的HTML屏幕截圖以及由您的plunkr生成的html http://i.imgur.com/rgxfKwL.png –

+0

解決瀏覽器特定錯誤真的很難。嘗試將數組更改爲其他數據,並確保您的頁面中的任何位置沒有使用相同的'ng-model'定義的'id'和'name'屬性,即'selectedLocation'。 – nivas

+0

謝謝你的時間。這是風格問題,而不是與角js。我將寬度更改爲自動,並在兩個瀏覽器中正確顯示。 –