我有一个 ASP.Net MasterPage,带有一个自定义控件(“uc1”),其中有一个 rad 日期选择器(“myCal”)
我想在我的 aspx 页面上添加一个 jquery 更改事件,但下面的代码不起作用
$(document).ready(function(){
$('#myCal').change(function(){
alert('Found');
});
});
谢谢您的帮助
您正在尝试使用 绑定#MyCal
,但控件不会呈现到具有该名称的页面。ASP.Net 在渲染期间更改名称 - 因此您需要使用客户端 ID。但是,即使您要使用它,您的代码也会将 Change 事件绑定到外围包装组件 - 通常是 span/div - 而不是文本框本身。
首先,你为什么要在 jQuery 上做呢?您可以只使用ClientEvents-OnDateSelected
RadDatePicker 上的属性在他们选择/输入日期时引发客户事件(尽管在他们移出该字段之前它不会引发)。
<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" />
您的代码似乎很好,在您的页面加载后只需检查该字段并检查 ID 是否为“mycal”并且您没有多个具有相同 ID 的字段。