0
日付をフォーマットする方法。私はdd/mm/yyyy 29/03/2016の形式で日付が欲しいです。夜が変わると、夜を追加した後にチェックアウトの日付が表示されますが、無効な日付が表示されます。
HTMLコードjQuery - 日付をフォーマットすると、日付は無効な日付になります
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<label id="icon" for="name"><i class="icon-shield"></i>Check In</label><input type="text" id="checkin" class="HotelSearchFrom-Checkin" name="checkin" required/>
<select id="ddlnight" class="HotelSearchFrom-ddlNight">
<option value="0">Night</option>
<option value="1">1 Night</option>
<option value="2">2 Nights</option>
</select>
<label id="icon" for="name"><i class="icon-user"></i>Check Out</label>
<input type="text" id="checkout" class="HotelSearchFrom-Date" name="checkout" required/>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
jQueryのコード
<script>
$(function() {
$("#checkin,#checkout").datepicker({ dateFormat: 'dd/mm/yy' });
(function($, window, document, undefined){
$("#ddlnight").on("change", function(){
var date = new Date($("#checkin").val());
days = parseInt($("#ddlnight").val(), 10);
if(!isNaN(date.getTime())){
alert("if is working");
date.setDate(date.getDate() + days);
$("#checkout").val(date.toInputFormat());
}
else {
alert("Invalid Date");
}
});
Date.prototype.toInputFormat = function() {
var yyyy = this.getFullYear().toString();
var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
var dd = this.getDate().toString();
return ( (dd[1]?dd:"0"+dd[0]) + "/" + mm[1]?mm:"0"+mm[0]) + "/" +yyyy; // padding
};
})(jQuery, this, document);
});
</script>
私は試していません。私はチェックイン時にチェックイン時に無効な日付を表示しています –
私が提供したフィドルリンクを確認できますか?あなたのコードと私のコードで何が違うのか見てみましょう。私たちはそこに何かを見つけることができるでしょう –
また、私はあなたが "dd/mm/yyyy"の日付形式を使用しているのを見て、このコードを実行しているマシンも同じフォーマットを持っていなければなりません。 –