JQuery不能看到从AJAX调用变成可见的对象
JQuery can't see object that became visible from AJAX call
在这一点上,我不是AJAX和Javascript/JQuery的高手。我有一种情况,我知道问题是什么,但不知道如何解决它。我有一个JQuery自动完成工作很好。它位于一个占位符中,只有当单击linkButton时才显示在页面上。很简单。我发现,我的页面工作得更好,虽然如果我把隐藏/显示占位符在Asp。Net AJAX UpdatePanel(因此页面不会发回)。很简单……
但是现在,当我调用JQuery自动完成时,它不起作用。我知道为什么……这是因为当页面加载时,自动完成的文本框是不可见的,并且链接按钮的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错误,或者查看HTML被jQuery操作后的状态,我更喜欢使用FireFox和Firebug插件。要做到这一点,只需确保FF已更新,然后转到Add-ons并搜索Firebug。将会有许多带有fire之类的附加组件,但您将只想要"Firebug"。我目前使用的Firefox 8.0版本是1.8.3。
一旦你安装了这个,你可以通过按F12键来切换Firebug窗口。我的Firebug窗口停靠在浏览器的底部,它在浏览器窗口中是可调整大小的。
在Firebug面板的主工具/菜单栏中,有两个关键特性可以告诉您更多正在发生的事情。您将对"元素检查"功能感兴趣,该功能允许您查看页面上任何元素的html(即使它已被脚本操作)。单击Firebug工具栏上从左边算起的第二个按钮(蓝色箭头位于蓝色框上),然后将鼠标移到页面上。与当前悬停在上面的元素相关的html将出现在firebug窗口中。单击一个元素来"锁定"到html的那一部分。如果您想检查不同的内容,请再次单击检查工具按钮。
您将能够使用的另一个工具是控制台窗口,该工具已在上面的评论中引用。这可以通过单击检查工具按钮右侧的"控制台"选项卡来访问。在它成为活动选项卡之后,请确保单击options箭头并验证控制台是否已启用。启用后,您可以重新加载页面,ajax请求和响应将在发生时出现在控制台窗口中。
- 从联合js rect对象调用引导模式
- 为什么可以't我用Set对象调用Array.prototype.map
- 从数组(JS)中的对象调用函数
- 在CouchDB Map函数中发出日期时-对日期对象调用的内容
- 'stepUp'对未实现接口HTMLInputElement的对象调用
- 从设置为原型的对象调用属性
- 类型错误:'单击'对未实现接口HTMLElement的对象调用
- 从javascript对象调用函数
- 得到"未捕获的类型错误:未定义的不是函数“;当试图从对象调用get()或set()时
- 子对象调用兄弟姐妹'方法
- 是否可以在函数构造函数中识别哪个对象调用它,并在错误的对象调用时中止创建
- Angularjs:错误:'追加'对未实现接口FormData的对象调用.jQuery.param/ad
- 为什么这个带有对象调用函数的Javascript setInterval在传入回调时不计算内部参数
- 生成自定义对象调用
- 对非对象调用了gulp jscs Object.keys
- JavaScript 从子对象调用父函数
- 对字符串对象调用 .localeCompare 与构造特制的 Intl.Collator 对象之间的性能差异
- 一次将所有对象调用到函数中,返回每个对象的特定计算
- 不能从jquery对象调用的Javascript方法
- 从具有事件侦听器的对象调用函数