1

我正在尝试使用 qtip2 jquery 插件来制作带有内容的小提示/气球。这是他们的 .js 和 .css 文件:

http://qtip2.com/download

我希望它可以处理由 mysql 中的 php 填充的表。我正在做这样的表:

 <tbody>
    <?php while($row = MySQL_fetch_array($result)): ?>
        <tr>
            <td title="lname" width="100px">
                <div style="width:100px; overflow:hidden;">
                    <?php echo(htmlentities($row['last_name'])); ?>
                </div>
            </td>
            <td title="fname" width="100px">
                <div style="width:100px; overflow:hidden;">
                    <?php echo(htmlentities($row['first_name'])); ?>
                </div>
            </td>    
            <td width="100px">
                <div style="width:100px; overflow:hidden;">
                    <?php echo(htmlentities($row['u_name'])); ?>
                </div>
            </td>  
            <td width="100px">
                <div style="width:150px; overflow:hidden;">
                    <?php echo(htmlentities($row['skype_id'])); ?>
                </div>
            </td>
       </tr>
    <?php endwhile; ?>
</tbody>

所有丑陋的 div 都在那里使它看起来更对齐。无论如何...这是工具提示的脚本:

        <script>$('td[title]').qtip({
                    show:'click',
                    hide:'unfocus',
                    content: {
                        text: "<?php echo(htmlentities($row['last_name'])); ?>"
                    }

                }); 
        </script>

问题是......我只能让它为每个带有“标题”的单元格显示相同的内容。我希望气球显示特定于每个 $row 的内容。知道我怎么能做到这一点吗?

4

1 回答 1

1

根据文档

您还可以指定一个返回内容的函数,该函数将在每个连续的演出事件上运行。此函数可以返回静态文本内容(文本或 HTML)或延迟对象(见下文)。函数以它的范围作为目标元素执行,分别带有事件和 api 参数。

所以你可以这样做:

content: {
    text: function() {return $(this).closest("tr").find("[title=lname]").text();}
}

这个想法是,从this我们知道是 a 的目标元素范围 ( )开始td[title],以某种方式生成工具提示的文本。由于标记中该文本的唯一实例位于 内td[title=lname],因此代码会找到该实例并返回其文本。

于 2013-10-04T13:02:58.363 回答