Как я могу рассчитать разницу между датами в форме? Даты (день, месяц, год) находятся в 3 разных раскрывающихся списках.

Как я могу рассчитать разницу между датами в форме? Даты (день, месяц, год) находятся в 3 разных раскрывающихся списках. Так можно ли каким-то образом получить значение выбранного раскрывающегося списка, которое мы определяем в теге option?


person Payam    schedule 27.05.2013    source источник
comment
Можете ли вы опубликовать код? что ты уже испробовал?   -  person Niccolò Campolungo    schedule 27.05.2013


Ответы (1)


Ты можешь сделать:

var dateA = new Date($("#yearA").val(), $("#monthA").val(), $("#dayA").val());
var dateB = new Date($("#yearB").val(), $("#monthB").val(), $("#dayB").val());
var diff = Math.abs(dateA - dateB);

Что даст вам разницу между двумя датами в миллисекундах.

person CodingIntrigue    schedule 27.05.2013
comment
Но проблема в том, как я могу получить значения из выпадающего списка? Специально для месяца, так как это символы (январь, февраль и т. д.) - person Payam; 27.05.2013
comment
Ваш выбор может иметь отдельные значения и текст: ‹select id=monthA› ‹значение опции=0›Январь‹/опция› ‹значение опции=1›Февраль‹/опция› ... ‹значение опции=11›Декабрь‹/опция › ‹/select› Месяцы Javascript отсчитываются от нуля. - person CodingIntrigue; 27.05.2013
comment
Итак, возможно ли также рассчитать разницу отдельных значений, определенных для каждого тега ‹option›, и отобразить ее в текстовом поле? - person Payam; 27.05.2013
comment
Да, это будет просто вопрос: $("#monthA").val() - $("#monthB").val(), учитывая приведенный выше HTML. Затем повторите процесс для значений года/дня. - person CodingIntrigue; 27.05.2013