0

我想用 AJAX 调用的 web 服务填充弹出窗口(来自引导程序)。

我试过了:

$.ajax({
    type: "POST",
    url: "myURL?action=fetchData&ID=123",
    success: function(msg) {
        $('.key_cal').popover({
            title:"User Profile",
            placement:'right',
            content:"<h5>Name: "+msg[0].firstName+"</h5>",
            html: true
        });
    }
});

但我需要在弹出框内调用 AJAX 来填充内容,但我不知道;请你帮助我好吗?

现在,我不想在我的 url (AJAX) 中用 123 硬编码 ID,而是想使用为弹出框单击的元素的 id。(我已将每个元素的 id 作为键传递)

提前谢谢了。

4

2 回答 2

1
$('.key_cal').on('click', function (e) {
    e.preventDefault();

    var id = this.id;
    var $this = $(this);

    $.ajax({
        type: "POST",
        url: "myURL?action=fetchData&ID=" + id
    }).done(function (msg) {
        $this.popover({
            title: 'myTitle',
            content: function () {
                return "<h5>Name: " + msg[0].firstName + "</h5>";
            },
            html: true
        }).popover('show');
    });
});

希望这会有所帮助,但我不确定您为什么要通过 URL(查询字符串)发送数据以进行POST请求?相反,您可以将其指定为dataajax 调用的对象。

于 2013-07-15T09:18:37.903 回答
1

您需要提供每个键校准或您正在使用弹出框的任何类,而不是在 AJAX 上触发弹出框。

$(document).ready() {
    $(".key-cal").hover(setPopover);
}

function setPopover() {
        var myTitle = "";
        var myContent = "";
        var myHtml = true;
        $.ajax({
            //  Go grab your data
            data: 'id=' + $(this).prop('id'),
            success: //Set your variables
        });
        $(this).popover({
            title: myTitle,
            content: myContent,
            html: true
        }).popover('show');
    }, function () {
        $(this).popover('hide');
    });
}

这不是最好或最有效的方法,但它应该对您有意义,并允许您从那里开始。在悬停时触发弹出框 ajax 调用,设置数据,然后显示弹出框。

于 2013-07-15T04:13:00.247 回答