Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
NET AJAX调用,jQuery不再工作_Jquery_Ajax_Gridview_Updatepanel - Fatal编程技术网

NET AJAX调用,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函数对我有帮助,但

我讨厌问别人已经问过的问题,但我所看到的答案似乎都不适用于我的问题

我正在使用MicrosoftUpdatePanel对象用AJAX更新gridview。如果我在文档加载时加载gridview,我的jQuery工作得很好。在我第一次使用AJAX进行更新时,jQuery不再工作了

通过查看web博客,我发现gridview对象与加载页面时存在的对象不同,我需要让jQuery重新熟悉新的DOM对象,我认为。。。正当我看过的大多数网站,包括这个网站上的帖子,都表明.on jQuery函数对我有帮助,但我不知道如何使用它来解决我的问题

下面是我的一个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功能吗?