输入端的日期比较,客户端MVC

时间:2018-12-13 17:00:23

标签: javascript asp.net-mvc

我有一个比较两个日期的功能,开始日期结束日期。如果开始日期大于结束日期,则提示“开始日期超过结束日期。请检查日期并重新输入”。 此外,应在单击文本框后立即进行比较。

下面的代码似乎没有做到公正。有什么建议么?

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 :(得分:1)

您尝试使用“键盘输入”而不是“更改”。

$("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" />