繁体   English   中英

jQuery无法看到通过AJAX调用可见的对象

[英]JQuery can't see object that became visible from AJAX call

在这一点上,我对AJAX和Javascript / JQuery并不是很满意。 我遇到的情况是我知道问题出在哪里,但不知道如何解决。 我有一个很好的JQuery自动完成功能。 它位于一个占位符,仅在单击linkBut​​ton时在页面上显示为可见。 很简单。 我发现,如果我将占位符的隐藏/显示放在Asp.Net AJAX UpdatePanel中,则页面的工作要好得多(因此该页面不会回发)。 很简单...

但是现在,当我调用JQuery automplete时,它不起作用。 而且我知道为什么...这是因为加载页面时,自动完成不可见的文本框不可见,而链接按钮的AJAX单击仅刷新了该元素,而没有将整个页面回发。 因此,当我转到pageSource时,我看到textBox甚至都没有。 因此,自动完成当然不能工作,因为它现在无法找到该元素的ID。

我有什么可以添加到此JQuery代码中的,现在可以看到AJAX面板显示的可见文本框了吗? 在此先感谢您提供任何帮助。

<script type="text/javascript">
$(document).ready(function() {
$("#<%=txtCityStateZip.ClientID%>").autocomplete('SearchHandlerGRP_BY.ashx');
});      
</script>
<script type="text/javascript">
$(document).ready(function() {
    $("#<%=txtCityStateZip.ClientID%>").show('ErrorHandler.ashx');
});      
</script>

为了查看AJAX调用的结果,获取javaScript错误或查看由jQuery处理后的HTML状态,我更喜欢在浏览器中使用FireFox和Firebug附加组件。 为此,只需确保已更新FF,然后转到“附件”并搜索Firebug。 会有一些附加组件与的东西,但你只是想“萤火虫”。 我当前与Firefox 8.0版本一起使用的版本是1.8.3。

安装完成后,您可以按F12键切换Firebug窗口。 我的Firebug窗口停靠在浏览器的底部,并且在浏览器窗口中可以调整大小。

Firebug窗格的主要工具/菜单栏中都提供了两个主要功能,可以告诉您有关正在发生的事情的更多信息。 您将对“元素检查”功能感兴趣,该功能使您可以查看页面上任何元素的html(即使通过脚本对其进行了操作)。 单击Firebug栏上左侧的第二个按钮(一个蓝色框上方的蓝色箭头),然后将鼠标悬停在页面上。 与当前悬停的元素相关的html将显示在萤火虫窗口中。 单击一个元素以“锁定”到html的该部分。 如果要检查其他内容,请再次单击检查工具按钮。

上面在注释中引用的另一个您将可以使用的工具是控制台窗口。 可以通过单击检查工具按钮右侧的“控制台选项卡”进行访问。它变为活动选项卡后,请确保单击选项箭头并确认控制台已启用。启用后,您可以重新加载页面,然后ajax请求和响应将在它们出现时显示在控制台窗口中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM