Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery可以';看不到通过AJAX调用变得可见的对象_Javascript_Jquery_Asp.net Ajax - Fatal编程技术网

Javascript JQuery可以';看不到通过AJAX调用变得可见的对象

Javascript JQuery可以';看不到通过AJAX调用变得可见的对象,javascript,jquery,asp.net-ajax,Javascript,Jquery,Asp.net Ajax,在这一点上,我并不是AJAX和Javascript/JQuery的高手。我有一种情况,我知道问题是什么,但不知道如何解决它。我有一个jqueryautocomplete,它工作得很好。它位于一个占位符中,只有在单击链接按钮时才在页面上显示为可见。很简单。我发现,如果我将占位符的隐藏/显示放在Asp.NETAJAX更新面板中(这样页面就不会发回),我的页面工作得更好。很简单 但是现在,当我调用JQuery自动完成时,它不起作用。我知道为什么。。。这是因为加载页面时,自动完成所在的文本框不可见,而A

在这一点上,我并不是AJAX和Javascript/JQuery的高手。我有一种情况,我知道问题是什么,但不知道如何解决它。我有一个jqueryautocomplete,它工作得很好。它位于一个占位符中,只有在单击链接按钮时才在页面上显示为可见。很简单。我发现,如果我将占位符的隐藏/显示放在Asp.NETAJAX更新面板中(这样页面就不会发回),我的页面工作得更好。很简单

但是现在,当我调用JQuery自动完成时,它不起作用。我知道为什么。。。这是因为加载页面时,自动完成所在的文本框不可见,而AJAX单击linkbutton只刷新了该元素,并没有将整个页面发回。所以,当我转到pageSource时,我看到文本框甚至不在那里。因此,自动完成当然不能工作,因为它现在找不到元素的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>

$(文档).ready(函数(){
$(“#”)自动完成('SearchHandlerGRP_BY.ashx');
});      
$(文档).ready(函数(){
$(“#”)show('ErrorHandler.ashx');
});      

为了查看AJAX调用的结果,发现javaScript错误,或者在被jQuery操作后查看HTML的状态,我更喜欢在浏览器中使用FireFox和Firebug插件。要做到这一点,只需确保FF已更新,然后转到附加组件并搜索Firebug。Firefox将会有很多插件,但是你只需要“Firebug”,我目前使用的Firefox 8.0版本是1.8.3

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

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


您可以使用的另一个工具是console窗口,上面在注释中引用了该工具。可以通过单击“检查工具按钮右侧的控制台选项卡。当它成为活动选项卡后,请确保单击选项箭头并确认控制台已启用。一旦启用,您可以重新加载页面,ajax请求和响应将出现在控制台窗口中。

您有权访问ajax调用的成功回调吗?如果是这样,您只需将自动完成调用添加到回调中。(我没有使用ASP.NET AJAX,也不知道它对用户隐藏了多少。)你检查过FF、Safari或Chrome中的错误控制台吗?“*.ashx”参数是文件名吗?如果我错了,请告诉我,但是根据jquery文档autocomplete()和show()不支持这一点。我真的不知道有这样的信息。那在代码隐藏文件里吗?我怎样才能把aspx页面的脚本信息放进去呢?嗨,记者。。。我也不确定你的问题的答案。。。但我知道它起作用了!哈然后,由于原始pageLoad没有隐藏的文本框,在AJAX调用之后,它仍然没有显示出来(我假设这就是原因),因为它找不到它,所以无法工作。我也尝试过使用它,但无法让它工作:$(function(){initializer();});var prminInstance=Sys.WebForms.PageRequestManager.getInstance();add_endRequest(函数(){//您需要在这里重新绑定jquery事件initializer();});函数初始值设定项(){$(“#”).autocomplete('SearchHandlerGRP_BY.ashx');}