Telerik - 使用jquery向日期选择器添加自定义更改事件

时间:2013-08-15 12:46:43

标签: jquery asp.net telerik

我有一个ASP.Net MasterPage,带有一个自定义控件(" uc1'),里面有一个rad日期选择器(" myCal')

我想在我的aspx页面上添加一个jquery更改事件,但下面的代码不能正常工作

$(document).ready(function(){

 $('#myCal').change(function(){
        alert('Found');
 });

});

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

您正尝试使用#MyCal进行绑定,但该控件不会呈现给具有该名称的页面。 ASP.Net在渲染期间更改名称 - 因此您需要使用客户端ID。但是,即使您要使用它,您的代码也只是将Change事件绑定到外围包装器组件 - 通常是span / div - 而不是文本框本身。

首先,为什么要尝试在jQuery上执行此操作?您可以使用RadDatePicker上的ClientEvents-OnDateSelected属性在选择/输入日期时引发客户端事件(虽然它们离开字段之前不会提升)。

<script type="text/javascript">
    function clientEvent(sender, args)
    {
        alert("Date Changed (raised via OnDateSelected)");
    }
</script>
<telerik:RadDatePicker runat="server" ID="pick1" ClientEvents-OnDateSelected="clientEvent" />

或者,如果您确实想通过jQuery执行此操作,则可以执行以下操作:

<script type="text/javascript">
    $(document).ready(function ()
    {
        var picker = $find("<%=pick2.ClientID %>");
        var box = picker.get_textBox();

        $(box).change(function ()
        {
            alert('Found');
        });

    });
</script>
<telerik:RadDatePicker runat="server" ID="pick2"  />

答案 1 :(得分:0)

您的代码似乎没问题,加载页面后只需检查字段并检查 ID是'mycal',并且您没有多个具有相同ID的字段。