javascript - 如何将日期从下拉列表转换为 javascript 日期格式并增加 1 天?

标签 javascript jquery

我有一个 dd/mm/yyyy 格式的不同日期的下拉列表,我想将所选日期转换为 javascript 日期格式并使用 javascript 递增 1。谁能帮帮我吗。提前致谢。

这是我的代码:

HTML

<select name="txtweek" id="txtweek">
   <option>--select--</option>
   <option>31-08-2015</option>
   <option>07-09-2015</option>
   <option>14-09-2015</option>
   <option>21-09-2015</option>
   <option>28-09-2015</option>
   <option>05-10-2015</option>
   <option>12-10-2015</option>
   <option>19-10-2015</option>
</select>

Javascript

jQuery("#txtweek").change(function(){
        if(jQuery("select[name='txtuser'] option:selected").text()=='--select--'){          
            alert("Please select a user first to proceed");
            return false;
        } else {
            jQuery.ajax({
                url:ajaxurl,
                type:'post',
                data:{action:'timecardapp_manage_timecard_stepone',user_id: jQuery("#txtuser").val()},
                success: function(response){    
                    var data=JSON.parse(response);  
                    var currentweek = jQuery("#txtweek").val();
                    var finalcurrentweek = new Date(currentweek);
                    var next_day = finalcurrentweek.setDate(finalcurrentweek.getDate()+1);;
                    var trHTML = '';
                    jQuery.each(data.final_data, function (i, item) {
                        if(item.event_title == 'Admin'){
                            //Monday
                            trHTML += '<tr>';
                            trHTML += '<td>'+item.event_title+'</td>';
                            trHTML += '<td>Mon</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.start_date+'</td>';
                            trHTML += '<td>'+item.end_date+'</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.expense_allowance_value+'</td>';
                            trHTML += '<td>'+item.hours_allowed+'</td>';
                            trHTML += '</tr>';

                            //Tuesday
                            trHTML += '<tr>';
                            trHTML += '<td>'+item.event_title+'</td>';
                            trHTML += '<td>Tue</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.start_date+'</td>';
                            trHTML += '<td>'+item.end_date+'</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.expense_allowance_value+'</td>';
                            trHTML += '<td>'+item.hours_allowed+'</td>';
                            trHTML += '</tr>';

                            //Wednesday
                            trHTML += '<tr>';
                            trHTML += '<td>'+item.event_title+'</td>';
                            trHTML += '<td>Wed</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.start_date+'</td>';
                            trHTML += '<td>'+item.end_date+'</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.expense_allowance_value+'</td>';
                            trHTML += '<td>'+item.hours_allowed+'</td>';
                            trHTML += '</tr>';

                            //Thursday
                            trHTML += '<tr>';
                            trHTML += '<td>'+item.event_title+'</td>';
                            trHTML += '<td>Thu</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.start_date+'</td>';
                            trHTML += '<td>'+item.end_date+'</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.expense_allowance_value+'</td>';
                            trHTML += '<td>'+item.hours_allowed+'</td>';
                            trHTML += '</tr>';

                            //Friday
                            trHTML += '<tr>';
                            trHTML += '<td>'+item.event_title+'</td>';
                            trHTML += '<td>Fri</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.start_date+'</td>';
                            trHTML += '<td>'+item.end_date+'</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.expense_allowance_value+'</td>';
                            trHTML += '<td>'+item.hours_allowed+'</td>';
                            trHTML += '</tr>';
                        } else{
                            trHTML += '<tr>';
                            trHTML += '<td>'+item.event_title+'</td>';
                            trHTML += '<td>'+item.day_of_week+'</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.start_date+'</td>';
                            trHTML += '<td>'+item.end_date+'</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>&nbsp;</td>';
                            trHTML += '<td>'+item.expense_allowance_value+'</td>';
                            trHTML += '<td>'+item.hours_allowed+'</td>';
                            trHTML += '</tr>';
                        }

                    });

                    // var trHTML = '';

                    jQuery('.timecard-step2').find('tbody').empty();
                    jQuery('.timecard-step2').find('tbody').append(trHTML);


                }
            });
        }
    });

最佳答案

像这样:

function pad(str) {
  return ("0"+str).slice(-2);
}
function getNextDay(str) { 
  var parts = str.split("-");
  var next_day = new Date(parts[2], parts[1] - 1, parseInt(parts[0], 10) + 1, 12, 0, 0, 0);
  return ""+pad(next_day.getDate())+"-"+pad(next_day.getMonth()+1)+"-"+next_day.getFullYear();
}

    var currentweek = jQuery("#txtweek option:selected").text(), // no values available
      next_day = new Date(); // or some other default
    if (currentweek && currentweek.indexOf("--") == -1) { // not the first
      next_day=getNextDay(currentweek);
      console.log(currentweek + '->'+next_day);
    }

例子:

function pad(str) {
  return ("0"+str).slice(-2);
}
function getNextDay(str) { 
  var parts = str.split("-");
  var next_day = new Date(parts[2], parts[1] - 1, parseInt(parts[0], 10) + 1, 12, 0, 0, 0);
  return ""+pad(next_day.getDate())+"-"+pad(next_day.getMonth()+1)+"-"+next_day.getFullYear();
}


 $(function() {
   $("#txtweek").on("change",function() {
    var currentweek = jQuery("#txtweek option:selected").text(), // no values available
      next_day = new Date(); // or some other default
    if (currentweek && currentweek.indexOf("--") == -1) { // not the first
      next_day =getNextDay(currentweek);
      snippet.log(currentweek + '->'+next_day);
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<select name="txtweek" id="txtweek">
  <option>--select--</option>
  <option>31-08-2015</option>
  <option>07-09-2015</option>
  <option>14-09-2015</option>
  <option>21-09-2015</option>
  <option>28-09-2015</option>
  <option>05-10-2015</option>
  <option>12-10-2015</option>
  <option>19-10-2015</option>
</select>

关于javascript - 如何将日期从下拉列表转换为 javascript 日期格式并增加 1 天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33280936/

相关文章:

javascript - 将内容添加到 iframe

javascript - 为数组中的数字创建直方图

javascript - 我如何为无法设置动画的内容进行缓慢过渡?

javascript - jQuery 多个内部回调和作用域

jQuery CSS 宽度属性在 Safari 上返回不一致

javascript - canvas.todataurl() 在 android 2.3.3 中不工作

javascript - 接受大于零的值,甚至可以是 0.01 或 0.10

jQuery - 从外部脚本 Hook $.ajax 调用

jQuery 获取页面中所有元素的文本

javascript - 如果跨度为空,则显示跨度内的文本