如何传递日期选取器更改事件
How to pass datepicker change event
我正在检查从 Html.TextBox for helper 的 jquery 中使用日期选择器控件输入的日期:
<%=Html.TextBoxFor(c => Model.mydate, new { @class = "datepicker", maxlength = 10, @onBlur = "chkDate"})%>
文本框的日期选取器掩码显示为 MM/DD/YYYY 。因此,我的脚本检查下划线并显示错误。 如果用户忽略日期选择器并尝试徒手输入日期,则此方法有效,但如果使用了日期选择器,则无效。 选择日期时,传递给脚本的值仍然是下划线,没有值。 这是我的脚本:
<script type="text/javascript">
$(document).on("blur", "input[name=mydate]",
function chkDate() {
var len = $("input[name=mydate]").val().length;
var date = $("input[name=mydate]").val();
var month = date.slice(0, 2);
var day = date.slice(3, 5);
var year = date.slice(6, 10);
alert("chkBirthday " + month);
if (month == '__') {
document.getElementById("MainContent_ErrorMessage").visibility = 'visible';
document.getElementById("MainContent_ErrorMessage").innerHTML = 'No date has been entered. Please enter a date';
}
});
有一个事件 onChange 与日期选取器相关联。 这是我应该使用的吗? 如果是这样,如何在帮助程序中指定它以及需要进行哪些脚本更改?
试试这个,
$(document).on("change", "input[name=mydate]",function (){
var len = $(this).val().length;
var date = $(this).val();
var month = date.slice(0, 2);
var day = date.slice(3, 5);
var year = date.slice(6, 10);
alert("chkBirthday " + month);
if (month == '__') {
document.getElementById("MainContent_ErrorMessage").visibility = 'visible';
document.getElementById("MainContent_ErrorMessage").innerHTML = 'No date has been entered. Please enter a date';
}
});
假设你使用的是流行的JQuery UI的日期选择器,奇怪的是它们不是授权事件,而是可以处理此事件的回调。请参阅"选择"或"关闭"。
相关文章:
- 分派点击事件并保留击键修饰符
- 带有日期选取器的事件
- 日期选取器单击事件获取日期
- 将事件附加到启动日期时间选取器
- 在选择事件上引导日期时间选取器
- 棱角分明如何防止点击事件传播到日期选取器元素
- 在 ExtJS 组合框选取器上滚动事件
- 主干.js没有模型的日期选取器事件侦听器
- jQuery 基于事件类型的单元格的日期选取器背景颜色
- jQuery UI 日期选取器事件过早触发
- Jquery 日期选取器更改事件触发器和输入的默认更改事件
- 如何捕获日期选取器关闭事件
- 如何根据日期选取器选择从 json 源获取事件
- 手动触发日期选取器选择事件
- 如何传递日期选取器更改事件
- 日期选取器“下次单击”事件
- Jquery Mobile 日期选取器事件不起作用
- 在IE8中:在vanilla JS中创建自定义事件,然后在Jquery中选取它
- JavaScript 没有选取 onclick 事件
- 引导日期选取器更改日期事件在手动编辑日期或清除日期时不会触发