Хорошо, у меня возникла проблема с выбором даты jQuery и пользовательского интерфейса.
По сути, у меня есть 3 поля в моей НОВОЙ форме события: Date, timeFrom, timeTo и 3 поля в моей базе данных SQL: Date(datetime), timeFrom(время), timeTo(время)
Поле даты выбирается с помощью средства выбора даты и будет выглядеть примерно так: 19.03.13 timeFrom и timeTo будут выбраны с помощью плагина для выбора времени и будут выглядеть примерно так: 06:20 И 07:20.
В моей базе данных SQL отправленные данные будут выглядеть так: 2013-03-19, 06:20:00.0, 07:20:00.0
Теперь с этим все в порядке, пока я не пойду редактировать это самое событие. Когда я вызываю его из базы данных и снова заполняю свои входные данные, они в конечном итоге выглядят так:
Дата: {тс '2013-03-19 00:00:00'}
времяОт: 1970-01-01 06:20:00.0
timeTo: 1970-01-01 07:20:00.0
Таким образом, это означает, что ни средство выбора даты, ни средство выбора времени не распознают эти значения. И если вы просто снова отправите форму, без сброса дат, мой код выдает ошибку.
Поэтому я подумал, что мне нужно использовать jquery для изменения полей ввода при загрузке страницы, чтобы они были правильно отформатированы и отображались так:
$(function() {
//datefix
var thisdatevalue = $("input[name='event[eventdate]']").val();
var day1 = $("input[name='event[eventdate]']").val().getDate();
var month1 = $("input[name='event[eventdate]']").val().getMonth();
var year1 = $("input[name='event[eventdate]']").val().getFullYear();
var fullDate = day1 + "/" + month1 + "/" + year1;
$("input[name='event[eventdate]']").val(fullDate);
//timefix
var thistimefromvalue = $("input[name='event[timefrom]']").val();
var hour1 = $("input[name='event[timefrom]']").val().getHours();
var minute1 = $("input[name='event[timefrom]']").val().getMinutes();
var second1 = $("input[name='event[timefrom]']").val().getSeconds();
var fullTime = hour1 + ":" + minute1 + ":" + second1;
$("input[name='event[timefrom]']").val(fullTime) ;
//timefix
var thistimetovalue = $("input[name='event[timeto]']").val();
var hour2 = $("input[name='event[timeto]']").val().getHours();
var minute2 = $("input[name='event[timeto]']").val().getMinutes();
var second2 = $("input[name='event[timeto]']").val().getSeconds();
var fullTime = hour2 + ":" + minute2 + ":" + second2;
$("input[name='event[timeto]']").val(fullTime) ;
});
Однако приведенный выше код выдает TypeError: $(...).val(...).getDay не является функцией, это не функция.
Я думал, что это стандартная функция javascript, которая должна помочь мне.
Любые идеи о том, как я могу это сделать?
Спасибо!
.val()
будет возвращать только строковое значение поля ввода, а не объект даты. Таким образом, методы даты, которые вы связываете с ними, не определены. - person Ruben Infante   schedule 28.03.2013