检查jQuery是否存在asp.net控件

时间:2011-06-24 12:29:00

标签: jquery asp.net

以这种方式在MasterPage中引用asp.net控件时:

    $(function() { 
        $('#<%=txtMunicipio.ClientID%>').autocomplete({
            source: function(request, response) {
                $.ajax({
                    url: 'http://localhost/Autocomplete/WSAutocomplete.asmx/Poblacion',
                    data: 't=' + request.term,
                    type: 'POST',
                    //contentType: 'text/xml;charset=utf-8',
                    dataType: 'xml',
                    success: function(data) {
                        response(a = $.map(splitResponse(data), function(a, n) {
                            return formatCity(a, n);
                        }));
                    }
                });
            },
            ........

我收到错误“Object expected”,因为页面中不存在控件。如何在关联自动完成功能之前检查控件是否存在?

提前致谢

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

首先,确保包含jquery和autocomplete js文件。

如果您有母版页,ID可能会被更改,即使您没有,我找到的最安全的方法是 if($('[id $ = txtMunicipio]')!= undefined&amp;&amp; $('[id $ = txtMunicipio]')。length&gt; 1) { //做你的事 } 其他 { //处理问题 }

您的问题可能只是需要将代码包装在: $(文件)。就绪(函数(){ //你的代码就在这里 });

如果是更新面板,如果您想在每次加载时运行脚本,请执行以下操作: function pageLoad(){ //你的代码在这里 }