2015-12-08 117 views
0

我有一個模型,打開一個窗體來編輯用戶信息。該表單有多個使用datepicker的輸入字段。一些日期字段不是必需的。但是,如果數據庫中的其中一個日期爲空,則當用戶單擊保存按鈕(即使不打算保存)時,今天的日期會自動填入並保存。AngularJS Datepicker - 沒有選擇日期

這裏是我的HTML

<div class="form-group"> 
    <label class="control-label">Date</label> 
    <div> 
     <input class="form-control" type="date" placeholder="mm/dd/yyyy" uib-datepicker-popup ng-model="editUser.DatesTemp" datepicker-options="dateOptions" is-open="status.opened" min-date="minDate" max-date="maxDate" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" ng-required="true" close-text="Close"> 
    </div> 
</div> 

這裏是腳本文件

angular.module("myApp", ['ui.bootstrap', 'gm.datepickerMultiSelect']); 

// MAIN CONTROLLER 
angular.module("myApp").controller("MainController", function ($scope, $http) { 
$scope.Data = data; 
console.log(data); 

    $scope.userEdit = function (index) { 
     $scope.editUser = data.userInfo[index]; 
     //using moment to format date 
     $scope.editUser.DatesTemp = moment($scope.editUser.Dates[0]).toDate(); 
    }; 

}); 

// DATE CONTROLLER 
angular.module("myApp").controller("modalEditUserController", function ($scope, $http) { 
    $scope.postUpdate = function() { 
     //using moment to format date 
     $scope.editUser.Dates[0] = moment($scope.editUser.DatesTemp).format('MM/DD/YYYY h:mm:ss A'); 
    }; 
}); 

// DATE FILTER 
angular.module("myApp").filter("asDate", function() { 
    return function (input) { 
     return new Date(input); 
    }; 
}); 

回答

0

望着api,這是我以前不熟悉,似乎有「事件」,可以調用。也許可以使用「changeDate」調用在數據庫中設置日期爲空(如果用戶沒有輸入)來創建條件。

他們的代碼示例:

$('#dp5').datepicker() 
.on('changeDate', function(ev){ 
    if (ev.date.valueOf() < startDate.valueOf()){ 
     .... 
    } 
}); 

也許找到一種方法在代碼中實例化這個。

此外,不是必需的,但寫入控制器的快速提示。該模塊可以被聲明爲一個變量,並隨後用於每個以下控制器/過濾器。只是代碼的捷徑。

var app = angular.module("myApp", ['ui.bootstrap', 'gm.datepickerMultiSelect']); 

app.controller("MainController", function ($scope, $http) { 
    ...  
}); 
app.controller("modalEditUserController", function ($scope, $http) { 
    ... 
}); 
相關問題