我需要帮助才能在MouseOVer事件的工具提示(使用qTip脚本)中显示数据(来自控制器)。
HTML& PHP:
foreach ($rows as $row) {
<a href="#" onmouseover="getData(<?php echo $row->id; ?>)" >Name</a>
}
JS功能:
function getData(id)
{
var url='index.php?option=com_test&controller=test&task=getDetails&format=raw';
var data = 'item_id=' + id ;
var request = new Request({
url: url,
method:'post',
data: data,
async: true,
onSuccess: function(responseText)
{
// How i show the "responseText" data here in tooltip using qTip
}
}).send();
}
控制器功能:
function getDetails()
{
echo $return = JRequest::getVar('item_id');
}
答案 0 :(得分:0)
在内容项视图覆盖中添加提示是否更容易(将其添加到title =属性),并且将调用添加到qTip(每页一个)可以解决问题。
此外,ajax会使工具提示不是很快。
只需确保正确转义title属性中的“或”字符,否则您将破坏标记。
编辑:添加代码。我在这里写这个可能有拼写错误,但它应该给你一个想法:
foreach ($rows as $row) {
// let's assume $tip contains the right tip for each row:
<a href="#" title="<?php echo $tip; ?>" class="tipme">Name</a>
}
第一部分将显示默认浏览器工具提示。
现在你必须注入qTip脚本:
$document = JFactory::getDocument();
$document->addScriptDeclaration('
jQuery("a.tipme").qTip();
');
现在如何将价值放入$ tip?我看到你有一个com_test组件,你不需要通过控制器,但可以直接实例化将提供工具提示的模型;如果它被称为“提示”:
$tipmodel=JModel::getInstance('tip', 'ComtestModel'); // get the model (once!)
$tip = $tipmodel->getTip($row->id);
这个故事中的所有变量,模型,控制器名称都是虚构的。