2016-05-10 102 views
0

任何人都可以告訴我如何區分backbonejs中的兩個日期選擇器? 我儘量做到一樣,在我的觀點,但它會提醒的NAN:Backbonejs中兩個日期選擇器之間的區別

initialize: function() { 

this.model.on("change:auprov",function(){ 
         var datedeb = new Date(this.model.get("auprov")); 
         var dateret = new Date(this.model.get("deprov")); 
         var diff_ms = dateret.getTime() - datedeb.getTime(); 
         alert(diff_ms/1000/60/60/24); 
         //this.model.set({"dureeprov": '5'}); 
             },this); 
    }, 

這裏是我的模型的一部分:

deprov:{ 
type: "DatePicker", 
title: "De (Prov.)", 
fieldAttrs:{ 
     className:'col-sm-2 deprov' 
    }, 
validators: ["required"] 
    }, 
auprov:{ 
type: "DatePicker", 
title: "Au (Prov.)", 
fieldAttrs:{ 
     className:'col-sm-2 auprov' 
    }, 
validators: ["required"] 
    }, 

問候

+0

什麼是'this.model.get(「auprov」)'和'this.model.get(「deprov」)'? –

回答

0

對不起,我是用法語日期選擇器的形式,所以我不得不將其更改爲英語之一,這裏的正確代碼:

this.model.on("change:auprov",function(){ 
     var myDateArrayRet = this.model.get("auprov").split("/"); 
     var dateret = new Date(myDateArrayRet[2],myDateArrayRet[1]-1,myDateArrayRet[0]); 
     var myDateArray = this.model.get("deprov").split("/"); 
     var datedeb = new Date(myDateArray[2],myDateArray[1]-1,myDateArray[0]); 
     var diff_ms = dateret.getTime() - datedeb.getTime(); 
     alert(Math.ceil(diff_ms/(1000 * 3600 * 24))); 
     },this); 
+0

這是解決您的問題或更新的問題嗎? –

+0

這是一個解決方案,讓我解釋一下,我的日期選擇器採用法語格式(日/月/年幾個月/日/年),所以我必須交換數據,然後使用新日期(..)。 此致 – zackzulg

0

,直到我不能肯定知道this.model.get("auprov")this.model.get("deprov")的內容和類型我只能假設這些是數字。 JavaScript有時將數字作爲字符串處理。所以要糾正它使用parseInt將字符串轉換爲數字。

var datedeb = new Date(parseInt(this.model.get("auprov"))); 
var dateret = new Date(parseInt(this.model.get("deprov"))); 
+0

謝謝@Simo爲你的答案,我錯了我用法語datepicker格式,所以當我嘗試2016年6月26日它認爲26作爲月份,它給無效日期,我會補充我的問題的更正。 – zackzulg