我有一个ASP.Net MasterPage,带有一个自定义控件(" uc1'),里面有一个rad日期选择器(" myCal')
我想在我的aspx页面上添加一个jquery更改事件,但下面的代码不能正常工作
$(document).ready(function(){
$('#myCal').change(function(){
alert('Found');
});
});
感谢您的帮助
答案 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的字段。