2016-02-01 61 views
1

ng-model在這裏設置,所以我可以通過過濾器進入我的功能,並獲得所有用戶選擇。我想我也可以用它來預先填寫/默認數據。它不工作。這是我的控制器:angularjs - ng-model沒有爲我設置默認值

.controller('ListCtrl', [ 
    '$scope', '$filter', '$location', 'context', 'breeze', 'Service', 
    function ($scope, $filter, $location, context, breeze, Service) { 
     $scope.pageLoaded = true; 
     $scope.lists = []; 
     $scope.DDL1 = ''; 
     $scope.filter = { 
      fromDate: '2015-05-01', 
      toDate: '', 
      sales: false    
     }; 

我有HTML這樣的:

  <md-content ng-controller="ListCtrl" layout="column" flex class="md-padding"> 
       <md-tabs class="md-primary clearfix" md-selected="0" flex>    
        <md-tab label="Lists"> 
         <table><tr> 
           <td width="10%">From Date: </td> 
           <td width="40%"><input type="date" ng-model="filter.fromDate" value="{{filter.fromDate}}"/></td> 
<td width="10%">SParts: </td> 
           <td width="40%">          
            <input type="radio" name="sales" ng-model="filter.sales" value="true"> yes 
            <input type="radio" name="sales" ng-model="filter.sales" value="false" checked> no 
           </td>... 
+0

也datepicker工作,因爲我設置值= {{}} - 我不想這樣做。不應該ng模型足夠?無線電不管用 –

回答

1

您可以使用ng-checked的angularjs來基於其他值預先填充單選按鈕。

例如:

<td width="40%">          
    <input type="radio" name="sales" ng-model=vm.filter.sales > yes 
    <input type="radio" name="sales" ng-model=vm.filter.sales ng-checked="true"> no 
</td> 

在我已直接設置NG-檢查值設置爲true,但也可以將其設置爲使用控制器變量真或假還上面的例子。 欲瞭解更多信息,你可以檢查文檔@https://docs.angularjs.org/api/ng/directive/ngChecked

3

使用字符串

由於傻冒使用input type="radio",設置filter.sales字符串類型,應工作

$scope.filter = { 
    fromDate: '2015-05-01', 
    toDate: '', 
    sales: 'false'   
}; 

input type="radio" NG-模型docs

的值到該ngModel表達應該被選擇時設置。 請注意,該值僅支持字符串值,即範圍模型 也需要是字符串。如果您需要複雜模型 (數字,對象,...),請使用ngValue。