簡體   English   中英

如何使用Javascript / JQuery將date_select值構造為單一日期格式?

[英]How to construct date_select values into single date format using Javascript/JQuery?

我的html表單中有一個date_select。 我知道它將月份和年份分開。 我正在嘗試找出如何在Javascript中以YYYY-MM-DD的形式構造日期,以便將該日期發送到我的控制器以與其他日期進行比較。

到目前為止,這是我的知識(我是JQuery / JS初學者):

$(document).on('click', "#check-button", function(){

    var year = $("#event_day_1i").val();
    var month = $("#event_day_2i").val();
    var day = $("#event_day_3i").val();
    var selectedDate = [year + "-" + month + "-" + day];

...
$.ajax({
            url: '/events/check',
            data: {checkList: checkList , selected_date: selectedDate },
            method: "POST"
        }
    );
)};

但這會創建諸如“ 2016-2-4”之類的日期,而不是“ 2016-02-04”。 解決此問題的最佳方法是什么?

如果您有一種解決方案,可以讓我將3個單獨的值發送到控制器中的一個日期中,那么這也很棒,但是我也不知道該如何做(初學者)。

謝謝!

這個想法與@Phillip答案相同。 唯一的區別是整數計數和字符長度計數。

使用parseInt()將其轉換為整數。

使用長度來計算字符或字符串。

這將檢查該值是否為單個字符 ,然后在其后附加“ 0”,例如1將變為“ 01”。

$(document).on('click', "#check-button", function(){

    var year = $("#event_day_1i").val();
    var month = $("#event_day_2i").val();
    var day = $("#event_day_3i").val();

    if (day.length < 2) { day = '0' + day; }
    if (month.length < 2) { month = '0' + month; }

    var selectedDate = [year + "-" + month + "-" + day];

...
    $.ajax({
            url: '/events/check',
            data: {checkList: checkList , selected_date: selectedDate },
            method: "POST"
        }
    );
)};

前面加上“ 0”的另一種方式是使用以下代碼(僅列出了一部分代碼):

day = ("0" + day).slice(-2);

month = ("0" + month).slice(-2);

這是將“ 0”添加到開頭,然后使用最后兩個字符。 請注意,這兩種方法都將這些值返回給字符串。

首先,我要確保用戶在每個字段中都添加了一個數字。 您可以自己進行更廣泛的檢查,但讓我開始使用.parseInt() JS方法。

在該變量中有整數存儲后,請檢查它是否小於10。也就是說,只能為一位。 您可能還需要檢查它是否也大於0。

知道這一點后,將其前面的字符串“ 0”合並起來。 即: 9變為09

$(document).on('click', "#check-button", function(){

var year = $("#event_day_1i").val();
var month = $("#event_day_2i").val();
var day = $("#event_day_3i").val();
month = month.parseInt();
day = day.parseInt();

if (month < 10) {
    month = "0" + month;
}
if (day < 10) {
    day = "0" + day;
}
var selectedDate = [year + "-" + month + "-" + day];

...

$.ajax({
            url: '/events/check',
            data: {checkList: checkList , selected_date: selectedDate },
            method: "POST"
        }
    );
)};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM