以这种方式在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”,因为页面中不存在控件。如何在关联自动完成功能之前检查控件是否存在?
提前致谢
答案 0 :(得分:1)
$(“#mydiv”)。长度&gt; 0
http://aaronrussell.co.uk/legacy/check-if-an-element-exists-using-jquery/
答案 1 :(得分:1)
首先,确保包含jquery和autocomplete js文件。
如果您有母版页,ID可能会被更改,即使您没有,我找到的最安全的方法是 if($('[id $ = txtMunicipio]')!= undefined&amp;&amp; $('[id $ = txtMunicipio]')。length&gt; 1) { //做你的事 } 其他 { //处理问题 }
您的问题可能只是需要将代码包装在: $(文件)。就绪(函数(){ //你的代码就在这里 });
如果是更新面板,如果您想在每次加载时运行脚本,请执行以下操作: function pageLoad(){ //你的代码在这里 }