2014-12-21 38 views
0

我的html表單就是這樣。想要基於持續時間選擇和日期顯示

<tr>  <td>Duration</td> 
    <td> 
    <select name="duration"> 
     <option value="1">1month duration</option> 
     <option value="2">2month duration</option> 
    <option value="3">3month duration</option> 
</select> 
</td> 
<td>from date</td> 
<td><input type="text" name="fromdate"/>(i used date picker here)</td> 

<td>To date</td> 
<td><input type="text" name="todate"/>(i used date picker here)</td> 
</tr> 

現在我想的是,當我選擇持續時間爲1個月,從日期,那麼在最新它應該在30天之後顯示日期,當我在選擇的時間爲2個月,從日期,那麼到目前爲止它應該後60天

顯示日期
+0

請幫我感謝很多advance.i上午newbiee – chandrasekhar

+0

爲什麼'30'和'60'天,而不是日曆月? –

回答

0

setUTCMonthsetUTCDate(組合分別getUTCMonthgetUTCDate)方法,我寫了一個樣本SCR ipt來解決你的問題。遵循這個方法。

樣本邏輯

$(document).ready(function(){  
    $("#fromDate").datepicker({ 
     onSelect: function(){  
       var fromDate = $("#fromDate").datepicker('getDate'); 
       var days = parseInt($("#duration").val()*30); 
       var toDate = new Date(fromDate.getTime()+(days*24*60*60*1000)); 
       $("#toDate").datepicker('setDate', toDate);        
      } 
     }); 

    $("#fromDate").datepicker('setDate', new Date()); 
    $("#toDate").datepicker(); 
    var days = parseInt($(this).val()*30); 
    toDate = new Date(new Date().getTime()+(days*24*60*60*1000)); 
      $("#toDate").datepicker('setDate', toDate);   
}); 

$("#duration").change(function(){ 
    var fromDate = $("#fromDate").datepicker('getDate'); 
    var days = parseInt($(this).val()*30); 
    var toDate = new Date(fromDate.getTime()+(days*24*60*60*1000)); 
    $("#toDate").datepicker('setDate', toDate);        
}); 

工作代碼:http://jsfiddle.net/mjobvuwp/1/

+0

只需注意,如果fromDate在文本框中更改,toDate仍然會從當前日期作出響應。 –

+0

謝謝,更新http://jsfiddle.net/mjobvuwp/1/ –

+0

非常感謝兄弟.. – chandrasekhar

0

你可以使用的Date

var d = new Date(), // your starting Date object 
    d1m, 
    d30d; 

// setting d1m = d + 1 month 
d1m = new Date(d); // start the same as d 
d1m.setUTCMonth(d1m.getUTCMonth() + 1); // add 1 month 
console.log(d1m); // ready to use, so e.g. see what we've got 

// setting d30d = d + 30 days 
d30d = new Date(d); // start the same as d 
d30d.setUTCDate(d30d.getUTCDate() + 30); // add 30 days 
console.log(d30d); // ready to use, so e.g. see what we've got 
+0

非常感謝,但我需要它使用JavaScript爲我的HTML頁面。 – chandrasekhar

相關問題