将div附加到jQuery post函数中返回的内容

时间:2018-07-12 12:28:37

标签: jquery

我希望有人可以帮助解决以下问题。

我使用jQuery post()调用php文件,返回的结果是html,我现在希望将div附加到页面上容器的底部。这是一些代码

js

   var serializedData = $("#jobListing").serialize();
        var posting = jQuery.post("/?action=jobs-status-changes", serializedData);
        posting.done(function(data){
            jQuery(data).find('#content1').append('<div>Please close this window to reload the page.</div>');
            //alert(data);
            jQuery.colorbox({
                html:   data + '<script>jQuery(document).ready(function ($) {jQuery(".menu-top").hide()});</script>',
                width: "40%",
                maxHeight: "66%",
                scrolling: "true",
                transition: "fade",
                onClosed: function(){
                    location.reload(true);
                }
            });
        });

我在某处看到jQuery帖子返回的html是一个对象,可以像上面一样使用

(jQuery(data).find('#content1').append('<div>Please close this window to reload the page.</div>');)

我在这里错过了什么吗?我意识到我可以解析字符串,但是如果可能的话,想要一个jQuery解决方案。

谢谢

2 个答案:

答案 0 :(得分:0)

尝试下面的代码

HTML:在您的html代码中的空div下面添加

<div id="dummy" style="display:none"></div>

JQuery:在虚拟div中推data并找到所需的content1以附加html。在颜色框中使用虚拟div html

var serializedData = $("#jobListing").serialize();
        var posting = jQuery.post("/?action=jobs-status-changes", serializedData);
        posting.done(function(data){
            var $dummy = $("#dummy");
            $dummy.html(data);
            $dummy.find('#content1').append('<div>Please close this window to reload the page.</div>');
            //alert(data);
            jQuery.colorbox({
                html:   $dummy.html() + '<script>jQuery(document).ready(function ($) {jQuery(".menu-top").hide()});</script>',
                width: "40%",
                maxHeight: "66%",
                scrolling: "true",
                transition: "fade",
                onClosed: function(){
                    location.reload(true);
                }
            });
            $dummy.html('');
        });

答案 1 :(得分:0)

jQuery("#jobListing").submit(function (event) {
    event.preventDefault();
    selectedJobEditor();
    var serializedData = $("#jobListing").serialize();
    var posting = jQuery.post("/?action=jobs-status-changes", serializedData);
    posting.done(function(data){
        var dota = jQuery(data).find('#content1').append('<div>Please close this window to reload the page.</div>');
        alert(dota);
        jQuery.colorbox({
            html:   dota.html() + '<script>jQuery(document).ready(function ($) {jQuery(".menu-top").hide()});</script>',
            width: "40%",
            maxHeight: "66%",
            scrolling: "true",
            transition: "fade",
            onClosed: function(){
                location.reload(true);
            }
        });
    });
});

由于Bhushan Kawadkar的建议,我得以通过上面的更正代码解决了这个问题