javascript - 如何使用 Javascript/JQuery 将 date_select 值构造为单一日期格式?

标签 javascript jquery ruby-on-rails

我的 html 表单中有一个 date_select。我知道它将年月日分开。我正在尝试找出如何在我的 Javascript 中构建 YYYY-MM-DD 格式的日期,以便将此日期发送到我的 Controller 以与其他日期进行比较。

这是我到目前为止所得到的(我是一个 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 个单独的值发送到我的 Controller 中构造成一个日期,那也很好,但我也不知道我该怎么做(初学者)。

谢谢!

最佳答案

这个思路和@Phillip 的回答是一样的。唯一的区别是整数计数和字符长度计数。

使用 parseInt() 将其转换为整数。

使用length来统计字符或字符串。

这会检查该值是否为单个字符,然后向其附加“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"
        }
    );
)};

关于javascript - 如何使用 Javascript/JQuery 将 date_select 值构造为单一日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35211893/

相关文章:

javascript - 除了附加之外,我如何使用新的 FormData 方法?

ruby-on-rails - 如何将 REST 与以 XML 表示的嵌套资源一起使用?

ruby-on-rails - Sunspot Solr全文搜索和will_paginate

javascript - 看到元素时滚动功能激活

javascript - 如何向同一个 DIV 标签添加 2 个不同的 onclick 函数

PHP 脚本没有被执行

javascript - 如何检查数据表内的条件?

javascript - 更改变量中的链接

ruby-on-rails - Textmate - 以不同的高亮呈现不同类型的代码

javascript - 启用源映射时不会加载图像