2015-11-19 91 views
-1

我正在顯示錶中的數據庫中的數據。其中一個表格列存儲真/假。我將此列顯示爲一個下拉列表,但該值不是對數據庫值的默認值。默認爲空白。AngularJS下拉的默認值爲空

JS

$scope.options = [{ label: 'false', val: false }, { label: 'true', val: true }]; 

$ scope.usersList =用戶

HTML

<tr ng-repeat = "user in usersList"> 
<td> 
        <select ng-model="user.admin" 
          ng-options="opt as opt.label for opt in options"> 
         <option value="{{user.admin}}">{{user.admin}}</option> 
        </select> 
</td> 
</tr> 

頁面源代碼

<td> 
        <select ng-model="user.admin" ng-options="opt as opt.label for opt in options" class="ng-pristine ng-valid ng-touched"><option value="?" selected="selected"></option><option label="false" value="object:15">false</option><option label="true" value="object:16">true</option></select> 
       </td> 
+0

「user.admin」是否已填充?既然這是模型,那麼將設​​置爲默認值,如果它是空的,則默認值將爲空。 – ragerory

+1

可能的重複[爲什麼angularjs在select中包含一個空選項](http://stackoverflow.com/questions/12654631/why-does-angularjs-include-an-empty-option-in-select) –

+0

是的,if我只打印user.admin,我看到了正確的值。但是如果我使用下拉菜單,它將不會設置爲該值。 – Kumar

回答

0

默認情況下,選擇NG選項是空白。從本質上講

$scope.user.admin = options[0]; 
0

你只需要初始化$ scope.user.admin這樣的:

$scope.user.admin = true; 

或類似這樣的

$scope.user.admin = false; 

看一看這個小提琴 - http://jsfiddle.net/r9sb53zv/

+0

但這並不能解決我的問題。我想將它設置爲存儲在數據庫中的內容,而不是將其默認爲任何值。我正在顯示錶中的行和列存儲的其中一個是true還是false。在下拉菜單中,它應該默認爲數據庫值,並允許用戶通過在下拉列表中選擇其他選項來更改它。 – Kumar

+0

做一個小小的閱讀人!我只是給你想法。從數據庫獲取值並將其設置爲$ scope.user.admin。 – codebusta

+0

我在這裏有一個原因。如果你不能給我答案,就這麼說吧。 – Kumar