Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 从ajax函数中获取新内容,并在单击时替换它_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 从ajax函数中获取新内容,并在单击时替换它

Javascript 从ajax函数中获取新内容,并在单击时替换它,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我有一个带有div的页面,当用户单击单选按钮时,它会获取新内容,当页面加载时,它会显示主要内容,当用户单击X单选按钮时,该内容会重新获得新的或不同的信息,有一个div id不会更改。。。所以 当用户加载页面时,我检查了一些值,X值是否低于然后替换div内容,在第一次加载时效果很好,但是如果用户更改了选项,那么第一个脚本将不会执行任何操作。。。下面是基本的html 基本上,当用户单击任意单选按钮时,div信息的内容被ajax信息替换,我想知道如何获取新内容并替换一些值。。。 现在,带有隐藏的ID

我有一个带有div的页面,当用户单击单选按钮时,它会获取新内容,当页面加载时,它会显示主要内容,当用户单击X单选按钮时,该内容会重新获得新的或不同的信息,有一个div id不会更改。。。所以 当用户加载页面时,我检查了一些值,X值是否低于然后替换div内容,在第一次加载时效果很好,但是如果用户更改了选项,那么第一个脚本将不会执行任何操作。。。下面是基本的html

基本上,当用户单击任意单选按钮时,div信息的内容被ajax信息替换,我想知道如何获取新内容并替换一些值。。。 现在,带有隐藏的ID qty的输入具有我需要的值,该值小于或大于我将div内的按钮替换为ID checkoutbtn从buy Now到Only in US and UK,请请求报价。。。因此,我的JS是:

(function($) {

        var pkg = $("#qty").val();
        var cot = '<a rel="{handler: \'iframe\', size: {x: 570, y: 550}}" ' +
            'class="modal" href="qut.php">' +
        '<input type="button" value="Quotation" class="btn btn-small">' +
        '</a>';
        window.onload = function() {

            if (pkg < 4 ) {
                // do something
                // alert('Checked');
                $('#checkoutbtn').html(cot);
            }
        };

        $('input:radio[name="shipping"]').change(
            function(){

                if ($(this).is(':checked') && $(this).attr("id") == 's1') {

                    // alert(pkg);
                    $('#checkoutbtn').html(cot);
                } else if ($(this).is(':checked') && $(this).attr("id") == 's2') {

                    $('#checkoutbtn').html(cot);
                }
            });

    })(jQuery);
当页面第一次加载时,它工作正常,如果不是ajax使用id信息更改div的内容,它将是完美的,但不是。。。 如您所见,我有一段代码:$'input:radio[name=shipping]'。更改。。。所以现在我需要一些东西,可以给我一些时间来加载新内容,或者检查新内容何时准备好,然后执行另一个代码$'checkoutbtn'.htmlcot。。。问题是,我该怎么做。。。如果我将超时时间设置为2秒,它可能会工作,但有时需要3或5秒才能准备好新信息并提供给用户,这将是一个问题

因此,我需要在用户点击单选按钮后检查新内容何时准备就绪,我该如何做


谢谢。

您的前两个单选按钮具有相同的值=1。可能要先解决这个问题。你也拼错了。应该是'div',而不是'duv'。这不是重点,但谢谢…如果能看到您的AJAX功能也会很好,但我只能猜测您设置的事件处理程序没有应用于新内容。考虑在AJAX的success函数中重新应用它们,或者使用jQuery的.on和类似$'.wrapping元素的东西。on'event','.elements',function{},where.wrapping元素是AJAX无法替代的东西。
(function($) {

        var pkg = $("#qty").val();
        var cot = '<a rel="{handler: \'iframe\', size: {x: 570, y: 550}}" ' +
            'class="modal" href="qut.php">' +
        '<input type="button" value="Quotation" class="btn btn-small">' +
        '</a>';
        window.onload = function() {

            if (pkg < 4 ) {
                // do something
                // alert('Checked');
                $('#checkoutbtn').html(cot);
            }
        };

        $('input:radio[name="shipping"]').change(
            function(){

                if ($(this).is(':checked') && $(this).attr("id") == 's1') {

                    // alert(pkg);
                    $('#checkoutbtn').html(cot);
                } else if ($(this).is(':checked') && $(this).attr("id") == 's2') {

                    $('#checkoutbtn').html(cot);
                }
            });

    })(jQuery);