【问题标题】:Send +1 Day on JQuery DatePicker在 JQuery DatePicker 上发送 +1 天
【发布时间】:2017-11-16 09:34:35
【问题描述】:

我想在所选日期的后一天发出。

$('#toDate').datepicker({
        inline: true,
        altField: '#x',
        dateFormat: "dd-mm-yy", //day
        altFormat: "yy-mm-dd", //year
        monthNames: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
        dayNamesMin: ["Pa", "Pt", "Sl", "Ça", "Pe", "Cu", "Ct"],
        firstDay: 1,
        numberOfMonths: 1,
        onSelect: function(dateText, inst) {
          socket.emit('sockettoDate', $('#x').val());
        }
      });

如果选择了 '2017-11-16',我想发出 '2017-11-17'。有什么办法吗?

【问题讨论】:

    标签: javascript jquery jquery-ui jquery-ui-datepicker


    【解决方案1】:

    以下代码应该适合您:

    $('#toDate').datepicker({
        inline: true,
        altField: '#x',
        dateFormat: "dd-mm-yy", //day
        altFormat: "yy-mm-dd", //year
        monthNames: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
        dayNamesMin: ["Pa", "Pt", "Sl", "Ça", "Pe", "Cu", "Ct"],
        firstDay: 1,
        numberOfMonths: 1,
        onSelect: function(dateText, inst) {
            var dateup = ('0' + (parseInt(inst.selectedDay) + 1)).slice(-2);
            var monthup = ('0' + (parseInt(inst.selectedMonth) + 1)).slice(-2);
            var newdate = inst.selectedYear+'-'+monthup+'-'+dateup;
            socket.emit('sockettoDate', newdate);
        }
    });
    

    【讨论】:

    • 无法计算当月最后一天之后的第二天。例如,如果选择了2017-12-31,则结果为2017-12-32。有什么解决办法吗?
    【解决方案2】:

    有两个输入框;但在任何时候都只有一个可见;

    我添加了一个不同的标签,以便您可以在日期更改后进行区分;

    调整它以满足您的需求。

    $('#toDate').datepicker({
            inline: true,
            altField: '#x',
            dateFormat: "dd-mm-yy", //day
            altFormat: "yy-mm-dd", //year
            monthNames: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
            dayNamesMin: ["Pa", "Pt", "Sl", "Ça", "Pe", "Cu", "Ct"],
            firstDay: 1,
            numberOfMonths: 1,
            onSelect: function(dateText, inst) {            
                showHideDate(dateText);
            }
          });
     
     function showHideDate(dateText) {
       document.getElementById("defaultDate").style.display = "none";
       document.getElementById("hiddenDate").style.display = "block";
       let splittedDate = dateText.split("-");
       let nextDay = parseInt(splittedDate[0])+1
       let newDate =  nextDay + '-' + splittedDate[1] + '-' + splittedDate[2];
       
       document.getElementById("newDate").value = newDate;
     }
    #hiddenDate {
      display:none;
    }
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <p id="defaultDate">Date: <input type="text" id="toDate"></p>
    <p id="hiddenDate">New Date: <input type="text" id="newDate"></p>

    【讨论】:

    • 有误会。我想将编辑后的日期发送到服务器。无论如何,感谢您的宝贵时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多