0
我在Angular中構建了一個日期時間選擇器,並且很難弄清楚如何使用ng-model
的對象。我有一個name
值爲1-12小時的散列,每個值有一個AM
和PM
值。我沒有任何困難讓ng-options
生成一個選項選擇與正確的名稱/值,但我很難弄清楚如何讓ng模型從列表中選擇正確的一個基於我設置的初始值我的newPost
模型。使用帶ngModel選項的對象選擇
我已經在我看來,下面的標記:
<div>
<select name="hour" ng-options="hour.value as hour.name for hour in hours" ng-model="newPost.hour"></select>
</div>
然後在我的控制器,我建我的currentHour
對象,像這樣:
var currentHourName = ((new Date()).getHours() + 24) % 12 || 12;
var currentHour = {
name: currentHourName,
value: {
'AM': (((new Date()).getHours() + 24) % 12),
'PM': (((new Date()).getHours() + 24) % 12) + 12
}
};
// Ancillary attributes omitted for brevity.
$scope.newPost = {
hour: currentHour
};
$scope.hours = [
{name: 1, value: {'AM': 0,'PM': 12}},
{name: 2, value: {'AM': 1,'PM': 13}},
{name: 3, value: {'AM': 2,'PM': 14}},
{name: 4, value: {'AM': 3,'PM': 15}},
{name: 5, value: {'AM': 4,'PM': 16}},
{name: 6, value: {'AM': 5,'PM': 17}},
{name: 7, value: {'AM': 6,'PM': 18}},
{name: 8, value: {'AM': 7,'PM': 19}},
{name: 9, value: {'AM': 8,'PM': 20}},
{name: 10, value: {'AM': 9,'PM': 21}},
{name: 11, value: {'AM': 10,'PM': 22}},
{name: 12, value: {'AM': 11,'PM': 23}}
];
我想知道的是,我怎麼能使用ng-model
進行此項工作。
我接受你的答案,因爲它適用於我在理論上如此。實際上,我無法按照自己的想法開始工作。我昨天晚上做了一件破解工作。我的方法唯一的缺點是,如果用戶改變了meridiem,那麼小時會改變。我改變了表達式爲'ng-options ='hour.value [newPost.meridiem]爲hour.name,小時爲小時「ng-model =」newPost.hour.value [newPost.meridiem]「'。這樣做的主要優點是'newPost.hour'現在是一個整數而不是一個對象,這使得預處理表單提交變得更容易。 – ACIDSTEALTH
你能否提供一個關於你面臨什麼問題的蹲點,以便我可以試試? – Nayan