0

我正在使用 qtip2 ajax 工具提示。这是脚本(http://jsfiddle.net/craga89/L6yq3/):

// Create the tooltips only when document ready
$(document).ready(function()
{
 // MAKE SURE YOUR SELECTOR MATCHES SOMETHING IN YOUR HTML!!!
 $('a').each(function() {
     $(this).qtip({
        content: {
            text: 'Loading...',
            ajax: {
                url: 'http://qtip2.com/demos/data/owl',
                loading: false
            }
        },
        position: {
            viewport: $(window)
        },
        style: 'qtip-wiki'
     });
 });
 });

要使用脚本,我需要 ajax 文件的链接:

<a href='http://qtip2.com/demos/data/snowyowl'>Snowy Owl</a>

我想在没有链接的情况下调用 ajax 文件,但使用 data-id 属性,所以它看起来像:

<a href="#" data-id="1">Snowy Owl</a> 

怎么做?

为了更清楚,像这样的代码:

var urlFormat = "/content/web/tooltip/ajax/ajaxContent{0}.html";

            $(document).ready(function() {
                $("#products").qtip({
                    filter: "a",
                    content: {
                        url: "/content/web/tooltip/ajax/ajaxContent1.html"
                    },
                    width: 520,

                    position: "top",
                    requestStart: function(e) {
                        e.options.url = qtip.format(urlFormat, e.target.data("id"));
                    }
                });

                $("#products").find("a").click(false);
            });
4

1 回答 1

0

我想你所追求的是:

// Create the tooltips only when document ready
 $(document).ready(function()
 {
     // MAKE SURE YOUR SELECTOR MATCHES SOMETHING IN YOUR HTML!!!
     $('a').each(function() {
         $(this).qtip({
            content: {
                text: 'Loading...',
                ajax: {
                    url: $(this).data('id'),
                    loading: false
                }
            },
            position: {
                viewport: $(window)
            },
            style: 'qtip-wiki'
         });
     });
 });

请注意,我将 url 参数从固定 url 更改为使用悬停链接中的 data-id 属性。url: $(this).data('id'),

它甚至似乎工作:http: //jsfiddle.net/L6yq3/492/

编辑
您可以自己构建 url,然后在某处添加 id。像这样的东西:
url: 'http://path/to/ajax/script-' + $(this).data('id'),

或者,如果您在服务器上有一个 (php) 脚本,您可以将 id 添加为查询变量并在那里进行处理。像这样的东西
url: 'http://path/to/ajax/script.php?id=' + $(this).data('id'),

请注意,您也可以使用实际id属性,而不是data-id通过替换$(this).data('id')为属性$(this).attr('id')

你明白吗?

于 2013-09-27T19:38:07.640 回答