设置 RadDatePicker 日期而不触发 ValueChanged
Posted
技术标签:
【中文标题】设置 RadDatePicker 日期而不触发 ValueChanged【英文标题】:Setting RadDatePicker Date Without Firing ValueChanged 【发布时间】:2011-07-04 13:49:18 【问题描述】:使用客户端 API,我希望能够做到这一点:
picker.set_selectedDate(new Date());
如果不触发 valueChanged 事件处理程序,API 中是否有其他方法可以做到这一点?同样,这都是客户端 javascript。
谢谢。
【问题讨论】:
【参考方案1】:您可以从日期选择器中删除事件处理程序,然后设置日期,如下所示:
var datePicker = $find("<%= RadDatePicker1.ClientID %>");
datePicker.remove_dateSelected(DateSelected);
datePicker.set_selectedDate(new Date());
这将防止事件被触发,如果您需要它可以在之后再次添加它。 DateSelected 是您在控件上设置的事件的名称,请参见下面的小示例
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="SM" runat="server"></asp:ScriptManager>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
function pageLoad()
var datePicker = $find("<%= RadDatePicker1.ClientID %>");
datePicker.remove_dateSelected(DateSelected);
datePicker.set_selectedDate(new Date());
function DateSelected(sender, e)
alert(sender);
</script>
</telerik:RadCodeBlock>
<div>
<telerik:RadDatePicker ID="RadDatePicker1" runat="server">
<ClientEvents OnDateSelected="DateSelected" />
</telerik:RadDatePicker>
</div>
</form>
【讨论】:
那会很痛苦,必须有更好的方法。以上是关于设置 RadDatePicker 日期而不触发 ValueChanged的主要内容,如果未能解决你的问题,请参考以下文章
如何使用数据库检索日期设置 raddatepicker 日期
未设置日期时,将 RadDatePicker 的默认值设置为 NULL