2010-06-23 105 views
0

我有一个jQuery UI的日期时间选择器的文本框。当我打开页面jquery清除我的文本框(文本框有一个默认值)有什么办法来阻止这个动作?jQuery日期时间选择器

查看:

<div class="editor-field"> 
       <%: Html.TextBoxFor(model => model.Start, String.Format("{0:g}", Model.Start)) %> 
       <%: Html.ValidationMessageFor(model => model.Start) %> 
</div> 

的.js

$(document).ready(function() { 
$("#Start").datepicker({ 
     showOn: 'button', 
     buttonImage: '../../Content/img/cal.jpg', 
     buttonImageOnly: true, 
    }); 
$("#Start, #End").datepicker("option", "showAnim", 'slideDown'); 
}); 

谢谢 PETI

+0

发布你的可能! – Zuul 2010-06-23 14:44:33

+0

在调用'$(“#开始”)之前,该值是否存在于文本框中?datepicker()'? – 2010-06-23 15:14:54

回答

0

你可以在通话之前获取该值,然后再设置一次吗?

$(document).ready(function() { 
    var default_date = $("#Start").val(); 
    $("#Start").datepicker({ 
      showOn: 'button', 
      buttonImage: '../../Content/img/cal.jpg', 
      buttonImageOnly: true, 
     }); 
    $("#Start, #End").datepicker("option", "showAnim", 'slideDown'); 
    $("#Start").val(default_date); 
}); 

这就是说,我猜测还有其他一些问题。我已经使用了datepicker插件已经有一段时间了,但是我无法想象它会在创建时从输入中创建一个有效的日期值。

你可以在Pastebin之类的地方发布你的代码吗?

编辑:

哦,你是对的格式。它预期的默认日期格式是mm/dd/yy。你想要做的是设置日期格式选项以反映你的特定格式。您还需要从日期值中去除时间分量。该代码会是这个样子(可能不是100%coreect):

$(document).ready(function() { 
    var date_stripped_of_time = $("#Start").val().substring(0, 10); 
    $("#Start").val(date_stripped_of_time); 
    $("#Start").datepicker({ 
      showOn: 'button', 
      buttonImage: '../../Content/img/cal.jpg', 
      buttonImageOnly: true, 
      dateFormat: 'yy.mm.dd', 
     }); 
    $("#Start, #End").datepicker("option", "showAnim", 'slideDown'); 
}); 

您可以通过查看options tab in the DatePicker documentation了解更多信息,与formatDate documentation看你可以使用什么日期格式的字符串。

+0

这是默认格式:2010.06.09。 0:00:00。 (和文本框中的值)。也许jQuery不能接受或识别..你的解决方案很简单,但它工作,谢谢:) – Peti 2010-06-23 18:35:52

0

我需要看到你的代码,但jQuery的日期选择器插件不清除文本框。我一直在我的网络应用程序中使用它,而且我从未体验过这种行为。

也许你有其他一些代码行干扰?你能发布你的代码吗?

编辑:那些Mvc helper命令的html输出会更有用,无论如何我可以猜测:文本框中的日期以Jquery datepicker无法识别的格式呈现。由于datepicker强制使用有效的日期格式,因此在文本框中出现错误格式的日期可能会导致插件将其删除。

+0

我试过没有jquery,deafult日期显示为 – Peti 2010-06-23 15:05:38