我的html表单中有一个date_select。我知道它把日、月、年分开了。我正在尝试如何在我的Javascript中构造一个YYYY 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”。解决这个问题的最好方法是什么?
如果您有一个解决方案,允许我将三个单独的值发送到控制器内的一个日期中,那么这也很好,但我也不知道该如何做(初学者)。
谢谢!
发布于 2016-02-05 05:49:46
这个想法与@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"
}
);
)};发布于 2016-02-04 21:56:13
"0“前面的另一种方式是使用以下方法(只使用所列代码的一部分):
day = ("0" + day).slice(-2);
month = ("0" + month).slice(-2);这样做是将"0“添加到开头,然后接受最后两个字符。请注意,这和另一种方法都会将这些值返回给字符串。
发布于 2016-02-04 21:36:13
首先,我要确保用户在每个字段中都添加了一个数字。您可以自己进行更广泛的检查,但我已经开始使用.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"
}
);
)};https://stackoverflow.com/questions/35211893
复制相似问题