Сравнение дат на входе, на стороне клиента MVC - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть функция, которая сравнивает 2 даты, Start_Date и End_Date .Если дата начала больше, чем дата окончания, предупредите сообщение, говорящее: «Дата начала превышает дату окончания. Пожалуйста, проверьте дату и введите ее заново». Кроме того, это следует сравнивать сразу после щелчка мышью вдали от текстового поля.

Кажется, что приведенный ниже код не соответствует действительности.Какие-либо предложения?

JS Код:

 $("td[start] > input").on("change", function () {
                alert("here first");
                var cur_td = $(this).closest("tr");
                var startdate = $(this).val();
                var enddate = cur_td.find("td[end]").text();
                var d1 = Date.parse(startdate);
                var d2 = Date.parse(enddate);
                checkdates(d1, d2);
            });
 function checkdates(s_date, e_date) {
                if (s_date > e_date) {
                    alert("The date " + s_date + " exceeds End Date. Please check the date and re-enter it.");
                }
            }

Просмотр бритвы:

<td start><input class="start" id=@item.ID type="text" actual="1" value='@(item.Start_Date == null ? "" : Convert.ToDateTime(item.Start_Date).ToString("MM-dd-yyyy"))' readonly="readonly" /></td>

<td end><input class="end" id=@item.ID type="text" actual="1" value='@(item.End_Date == null ? "" : Convert.ToDateTime(item.End_Date).ToString("MM-dd-yyyy"))' readonly="readonly" /></td>

1 Ответ

0 голосов
/ 13 декабря 2018

Вы пытаетесь использовать 'keyup' вместо 'change.

$("td[start] > input").on("keyup", function () { })

или если вы хотите использовать on (' change '), тогда вы должны использовать тип ввода date или любой date-picker.like

<input class="start" id=@item.ID type="date" actual="1" value='@(item.Start_Date == null ? "" : Convert.ToDateTime(item.Start_Date).ToString("MM-dd-yyyy"))' readonly="readonly" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...