设置 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

如何用c#设置raddatepicker日期输入框

Telerik 中的日期格式问题:RadDatePicker

RadDatePicker 可选日期

验证 RadDatePicker (Telerik Controls) 的日历控制