Bra*_*lly 15 javascript jquery
我有一个小麻烦,很高兴得到一些帮助.我正在创建一个小表单,我希望将当前日期格式化,'dd/mm/yyyy'并从下拉框中添加年份变量以创建最终到期日期.唯一的麻烦是我不知道如何将开始日期解析为日期变量以完成计算.任何想法或帮助将不胜感激.保罗.
<script>
$(document).ready(function () {
$("#registerfor, #startdate, ").change(function () {
// Get Variables
var startdate = $("#startdate").val();
var registerfor = $("#registerfor").val();
// Add Years to Date
var expirydate = startdate + registerfor;
// Send Result on
$("#expires").val(expirydate);
});
});
</script>
<input name="startdate" id="startdate" value="dd/mm/yyyy" />
<select id="registerfor" name="registerfor">
<option value="1">1 Year</option>
<option value="2">2 Years</option>
<option value="3">3 Years</option>
</select>
Run Code Online (Sandbox Code Playgroud)
Chr*_*e P 32
一个快速简便的解决方案:
var myDate = new Date();
myDate.setFullYear(myDate.getFullYear() + nbYearsToAdd);
Run Code Online (Sandbox Code Playgroud)
"nbYearsToAdd"可能是否定的.
有时看起来很简单的任务变得相当复杂.
$(document).ready( function () {
$("#registerfor, #startdate").change( function () {
var str = $("#startdate").val();
if( /^\d{2}\/\d{2}\/\d{4}$/i.test( str ) ) {
var parts = str.split("/");
var day = parts[0] && parseInt( parts[0], 10 );
var month = parts[1] && parseInt( parts[1], 10 );
var year = parts[2] && parseInt( parts[2], 10 );
var duration = parseInt( $("#registerfor").val(), 10);
if( day <= 31 && day >= 1 && month <= 12 && month >= 1 ) {
var expiryDate = new Date( year, month - 1, day );
expiryDate.setFullYear( expiryDate.getFullYear() + duration );
var day = ( '0' + expiryDate.getDate() ).slice( -2 );
var month = ( '0' + ( expiryDate.getMonth() + 1 ) ).slice( -2 );
var year = expiryDate.getFullYear();
$("#expires").val( day + "/" + month + "/" + year );
} else {
// display error message
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是一个小提琴,所以你可以看到它在行动.
| 归档时间: |
|
| 查看次数: |
50601 次 |
| 最近记录: |