создание qtip с содержимым ajax на основе вычисленных параметров uri

у меня такая ссылка

<a href="" id="permalink">permalink</a>

к которому я привязал qtip2 вот так

$("#permalink").qtip({
    content: {
        text: "Loading...",
        ajax: {
            url: "http://server/app",
            type: "GET",
            data: {
                "uri": $(this).attr("href")
            },
            success: function(data, status) {
                this.set(data);
            }
        }
    }
})
.click(function(event) {
    event.preventDefault();
});

href динамически обновляется некоторым другим кодом (на самом деле, элементом управления постоянной ссылкой в ​​OpenLayers). Если я нажму на постоянную ссылку при отсутствии qtip, я получу правильный href. Однако с qtip $(this).attr("href") ничего не получает. Это не установлено. Как я могу заставить qtip получать динамически вычисляемый href?


person punkish    schedule 22.01.2012    source источник


Ответы (2)


Используйте "каждый()". У вас должна быть правильная область видимости для $(this), тогда...

$("#permalink").each(function() {
    $(this).qtip({
        content: {
            text: "Loading...",
            ajax: {
                url: "http://server/app",
                type: "GET",
                data: {
                    "uri": $(this).attr("href")
                },
                success: function(data, status) {
                  this.set('content.text', data);
                }
            }
        }
    })
})
.click(function(event) {
    event.preventDefault();
});
person Marcel Abts    schedule 17.06.2012

приведенное выше решение работает нормально, но со следующими изменениями. Я проверил эту последнюю стабильную версию (v2.0.1).

Вместо this.set(data); используйте this.set('content.text', data);

person puneeth kosaraju    schedule 03.05.2013