0

我有一个 ASP.Net MasterPage,带有一个自定义控件(“uc1”),其中有一个 rad 日期选择器(“myCal”)

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

$(document).ready(function(){

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

});

谢谢您的帮助

4

2 回答 2

3

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

首先,你为什么要在 jQuery 上做呢?您可以只使用ClientEvents-OnDateSelectedRadDatePicker 上的属性在他们选择/输入日期时引发客户事件(尽管在他们移出该字段之前它不会引发)。

<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"  />
于 2013-08-15T13:15:58.537 回答
0

您的代码似乎很好,在您的页面加载后只需检查该字段并检查 ID 是否为“mycal”并且您没有多个具有相同 ID 的字段。

于 2013-08-15T12:55:39.607 回答