我正在使用MVC 1应用程序,我有一个视图,我单击一个保存按钮然后发生服务器端验证,但之后我的日期文本框不起作用。
我在MVC-View页面中使用了JQuery作为日期文本框。
任何人都可以建议我如何做到这一点。
$(function () {
$("input[id*=DateFrom]").datepicker({ dateFormat: 'dd-M-yy' },
{ changeMonth: true },
{ changeYear: true });
});
$(function () {
$("input[id*=DateTo]").datepicker({ dateFormat: 'dd-M-yy' },
{ changeMonth: true },
{ changeYear: true });
});
答案 0 :(得分:0)
使用此
$("#elementID").datepicker({
changeMonth: true,
changeYear: true
});
答案 1 :(得分:0)
Jaskaran是正确的,但您也在使用jQuery UI的无效日期格式:
dateFormat: 'dd-M-yy'
应该是这样的:
dateFormat: 'dd-M-y'
答案 2 :(得分:0)
在这种情况下,MVC框架无关紧要。这只是一个HTML + Javascript问题。
理想情况下,您应该为选择器使用类名称,以将相同的日期选择器功能应用于多个项目。 (除非你喜欢多次编写相同的代码)
此代码假定您有2个输入,如下所示:
<input id="DateStart" type="text" class="datepicker" />
<input id="DateEnd" type="text" class="datepicker" />
$(function () {
$('.datepicker').datepicker({
dateFormat: 'dd-M-yy',
changeMonth: true,
changeYear: true
});
});
但是,为了诊断您的功能损坏......
这是一个完整的回发场景,还是部分页面AJAX更新?
如果是部分页面Ajax更新,则可能导致问题的原因是输入元素被删除,然后在部分页面更新后添加回DOM。
$(function(){...})是document.ready回调的缩写。这意味着代码仅在首次从服务器加载页面时执行。
加载页面后添加到页面的任何项目都不会受到该代码的影响。
如果您正在进行整页回发,那么您的问题的可能原因是您的javascript中的某个其他地方的错误,导致上述代码无法执行。
您是否尝试使用Firebug或任何其他Web调试实用程序来检查错误?