繁体   English   中英

使用Html.DatePickerFor时如何在JavaScript中侦听日期更改

[英]How do I listen for a date change in JavaScript when using Html.DatePickerFor

我在ASP.Net MVC 4应用程序的页面上有一个日期输入字段。 当用户更改此日期时,我需要运行一些客户端验证。

生成该字段的代码是:

@Html.DatePickerFor(x => x.EndDate)

在与上述代码相同的cshtml页面的底部,我还具有以下内容:

<script type="text/javascript">
    MyValidation.FormValidator.initialize($('#EndDate'));
</script>

还有MyValidation.FormValidator.js文件:

MyValidation.FormValidator = (function () {
    return {   
        initialize: function (endDateInput) {
            endDateInput.bind('input', function () {
                alert("hit");
                SomeValidationFunction();
            });
        }
     };
})();

我尝试了许多不同的方式来编写

endDateInput.bind('input', function () {...}

部分,以使其能够正确触发,但是我的尝试均无济于事。 例如,我目前的工作仅是在用户键入日期时才使验证逻辑运行。 如果用户从弹出式日历中选择新日期,则不会触发验证。

我是Web开发的新手,所以我认为我在这里做的是根本上错误的事情,因为这似乎不应该是一个难题。

您可能已经解决了这个问题,但我将其写为

<script type="text/javascript">
    $(document).ready(function(){
        $('#EndDate').change(function(){
            SomeValidationFunction();
        });
    });
</script>

以下代码监听日期的blurblur 即使发生blur事件,jquery也会检查是否存在有效日期。 如果有的话,jQuery将运行代码。

$('#choose-date').on('blur',function(){ 
    if($(this).val()){
        console.log('changed date');
        //YOUR CODE HERE
    }
}); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM