0

我想将 ajax 响应加载到颜色框中。颜色框应在单击时打开并显示加载图像,直到获取并显示内容。

我的代码:

jQuery(".likeBar").colorbox({initialWidth:'460px', initialHeight:'355px', width:'460px', height:'355px', overlayClose:true, html: function() {
    var eventID = jQuery(this).data("id");
    var sp_response = "";
    var the_data =
    {
        action: 'get_likes',
        eventID: eventID,
        };
    jQuery.post(ajaxurl, the_data, function(sp_response) {
        return sp_response;
    });
}
});

我的问题: 获取的内容不会显示在我的颜色框中。AJAX 调用成功,获取内容,但不显示。

我的问题: 如何将 ajax 调用中的内容插入到颜色框中?

4

2 回答 2

2

我的问题的解决方案:

jQuery(".likeBar").click(function(){
    var eventID = jQuery(this).data("id");
    var sp_response = "";
    var the_data =
    {
        action: 'get_likes',
        eventID: eventID,
        tb_check_code: tb_check_code
    };
    jQuery.post(ajaxurl, the_data).done(function(sp_response) {
        jQuery('#sp_likebox' + eventID).html(sp_response);
     });

    jQuery('#sp_likebox' + eventID).show();
    jQuery(this).colorbox({initialWidth:'460px', initialHeight:'355px', width:'460px', height:'355px', overlayClose:true, inline:true, href: '#sp_likebox' + eventID, title: 'Diesen Benutzern gefällt der Beitrag'});

    jQuery(this).colorbox({
        onCleanup:function(e){
            jQuery('#sp_likebox' + eventID).hide();
        }
    });
});
于 2013-02-15T13:08:47.187 回答
0

编辑 2

我已经阅读了 colorbox 文档,发现您可以通过仅提供 href 属性和 data 属性来使用 ajax 获取内容。

http://www.jacklmoore.com/colorbox

编辑尝试像这样使ajax调用异步错误

$.ajax({
  type: "POST",
  url: ajaxurl,
  data: the_data,
  success: function(sp_response) {
        return sp_response;
    },
  dataType: 'html',
  async: false
});
于 2013-02-15T12:36:18.983 回答