0

首先,感谢您的帮助!

基本上,当有人单击折线图中的数据点时,我在 Highcharts 中使用 Highslide 来显示一些图片。下面是代码:

hs.htmlExpand(null, 
                {                       
                    pageOrigin: 
                    {
                        x: this.pageX,
                        y: this.pageY
                    },

                    headingText: "<p style='margin: 0 auto;'> Weight: " + this.y,

                    maincontentText: "<p class='pictures'></p>" +
                        $.ajax
                ({
                    type: "post",
                    url: "pictures.php",
                    data: 
                    {
                        "date" : this.Pictures
                    },
                    success: function(result)
                    {
                        $('.pictures').html(result); 
                    }
                }),

                    width: 700, 

                    height: 600
                });                     

目前,Highslide 正确显示图片,但它还在 Highslide 弹出窗口的末尾输出“[Object object]”。如果我将我的 php 页面更改为“echo 'test';”,它会显示单词“test”,然后是 [Object object]。

关于如何摆脱这个 [Object object] 的任何想法?

谢谢!

4

2 回答 2

0

您的 ajax 似乎正在返回一个 json 对象。您将需要解析该对象以格式化您想要显示的结果,或者返回 HTML...

编辑::

再三考虑,这似乎更像是您如何指定主要内容的问题。

使用 HTML 末尾的 + 作为主要内容,您将 ajax 调用作为内容包含在内。

我会在您的 maincontent 中指定 html 元素,但将 ajax 删除到 onAfterExpand 调用。

http://highslide.com/ref/hs.Expander.prototype.onAfterExpand

于 2013-05-28T17:05:36.567 回答
0

有趣的是,在看到您的其他问题之前,我无法使用此解决方案,因为onAfterExpand的使用对我来说不清楚且不寻常。所以我发现了 Ajax、Highcharts 和 Highslide 的另一个工作组合:) 在 plotOptions.spline.point.events 中类似这样的东西:

click: function (e) {
    var curobj = this;
    $.ajax({
        url: "/path/to/test.html",
        dataType: "html",
        success: function(data){
            hs.htmlExpand(null, {
                pageOrigin: {
                    x: e.pageX || e.clientX,
                    y: e.pageY || e.clientY
                },
                headingText: curobj.series.name,
                maincontentText: data,
                width: 300
            });
        }

    });
}
于 2018-08-07T02:19:58.573 回答