NET AJAX调用,jQuery不再工作
我讨厌问别人已经问过的问题,但我所看到的答案似乎都不适用于我的问题 我正在使用MicrosoftUpdatePanel对象用AJAX更新gridview。如果我在文档加载时加载gridview,我的jQuery工作得很好。在我第一次使用AJAX进行更新时,jQuery不再工作了 通过查看web博客,我发现gridview对象与加载页面时存在的对象不同,我需要让jQuery重新熟悉新的DOM对象,我认为。。。正当我看过的大多数网站,包括这个网站上的帖子,都表明.on jQuery函数对我有帮助,但我不知道如何使用它来解决我的问题 下面是我的一个jQuery函数的示例,以防您介意:NET AJAX调用,jQuery不再工作,jquery,ajax,gridview,updatepanel,Jquery,Ajax,Gridview,Updatepanel,我讨厌问别人已经问过的问题,但我所看到的答案似乎都不适用于我的问题 我正在使用MicrosoftUpdatePanel对象用AJAX更新gridview。如果我在文档加载时加载gridview,我的jQuery工作得很好。在我第一次使用AJAX进行更新时,jQuery不再工作了 通过查看web博客,我发现gridview对象与加载页面时存在的对象不同,我需要让jQuery重新熟悉新的DOM对象,我认为。。。正当我看过的大多数网站,包括这个网站上的帖子,都表明.on jQuery函数对我有帮助,但
// Select/deselect all checkboxes on gridview
$("#chkSelectAll").change(function () {
var isChecked = $('#chkSelectAll:checked').val() ? true : false;
if (isChecked == true) {
$(".c_chkItem input").each(function () {
$(this).prop('checked', true)
});
} else {
$(".c_chkItem input").each(function () {
$(this).prop('checked', false)
});
}
});
我的问题是,当dot.net对象更新我的gridview时,我怎样才能让我的jQuery知道呢?StackOverflow的好人帮不了我,所以我又扯了几个小时的头发。这是我的解决方案,以防有同样问题的人点击此页面 如果您有以下jQuery代码:
<script type="text/javascript">
$(document).ready(function () {
$('#myControl').val('some value');
}
</script>
当第一次加载页面时,它会工作,但是如果myControl位于由ajax更新的UpdatePanel对象中,那么jQuery函数将不再使用它
要解决此问题,请将jQuery移动到document.ready函数之外的单独函数中,并使用以下代码:
<script type="text/javascript">
$(document).ready(function () {
// Whatever
}
function pageLoad(sender, args) {
if (args.get_isPartialLoad()) {
$('#myControl').val('some value');
}
}
</script>
现在,每当ajax部分重新加载页面时,myControl将响应jQuery
还有一件事,如果您有一个webform控件,需要在第一次ajax调用之前查看jQuery,那么您可能还需要将jQuery语句放在document.ready函数中,以便在页面首次加载时和每次ajax调用后都触发它。我不需要这样做,也没有测试过,但我猜这是正确的。你能发布整个ajax功能吗?