2013-02-05 40 views
0

我需要幫助來在MouseOVer事件中顯示工具提示(使用qTip腳本)中的數據(來自控制器)。鏈路Joomla - OnMouseover使用Qtip腳本在工具提示中顯示來自控制器的數據

  1. 用戶mouserover(多鏈接像的foreach)
  2. ID發送類似功能的getData(ID){}
  3. 呼叫從控制器&使用變量返回的PHP功能的js函數數據到工具提示。
  4. 顯示返回數據到工具提示。

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

在內容項目視圖覆蓋中預加載小費(將其添加到title =屬性中)並且將調用添加到qTip(每頁一個)可以做到這一點。

此外,ajax會使工具提示不是很快。

只要確保你正確轉義「或」字的稱號屬性,否則你會打破你的標記

編輯:添加的代碼我在這裏寫這篇所以可能有錯別字,但它應該給。你的想法:

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); 

這個故事中的所有變量,模型,控制器名稱都是虛構的。

+0

謝謝Riccardo, 對不起,你能用一個例子來解釋嗎?另外我修改了HTML和PHP代碼。請檢查。 – Joomladev

+0

我添加了一些代碼,讓我知道這是否足夠清晰 –

相關問題