[英]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>
以下代码监听日期的blur
或blur
。 即使发生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.