当在jQuery的$(document).ready()方法中使用时,ASP.NET AJAX $ find方法会失效

时间:2011-06-23 10:53:57

标签: jquery asp.net asp.net-ajax

我正在尝试使用ASP.NET AJAX的客户端框架找到一棵树。在DOM准备好之后,我还使用jQuery来执行任何JavaScript操作。我的代码就像:

$(function(){
    var tree = $find('treeId');
});

这里,树只是空。但是当我试图在点击其中一个元素时找到树时,它不是空的:

$(function(){
    $('saveButton').click(function(){
        var tree = $find('treeId');
    }):
});

3 个答案:

答案 0 :(得分:6)

这对Telerik控件来说很有用:

$telerik.$(document).ready(function () {
    var tree = $telerik.$find("<%=RadTreeView1.ClientID%>");
});

请参阅此http://www.telerik.com/help/aspnet-ajax/introduction-using-jquery.html

答案 1 :(得分:2)

尝试使用ASP.NET Ajax DOM Ready。

Sys.onReady(function() {
    //DOM is ready to access and use
    var tree = $find('treeId');
});

答案 2 :(得分:1)

我之前遇到过telerik控件和ClientIDMode="Static"的问题。我只是删除了这个属性并使用了$find('<%= Radtree1.ClientID %>')并且它有效。

编辑: 从接受的答案开始,您可以通过将jquery指向telerik $来设置默认的$来使用jquery。

window。$ = $ telerik。$

如果您在site.master(或任何全局)上执行此操作,您将能够正常使用jquery。