2012-08-13 102 views
0

上午在php中用phtml做表格分頁。問題是我有一個JavaScript來改變行的顏色。它只適用於我的第一頁,不適用於其他頁面。javascript不能與分頁工作

foreach($this->paginator as $record) 
     {echo "<td width='61'> <a href='#' class='test' data-id='" . $record['id']. "'>". $record['id'] . "</td>"; 
     echo "<td width='61' >". $record['firstname'] . "</td>"; 
     echo "<td width='61'>" . $record['emailid'] . "</a></td>"; 
     echo "<td width='38'>" . $record['customdata'] . "</td>"; 
} 

JavaScript是

function approve(id) { 

    var id =id; 
    $.ajax({ 
     url: 'http://localhost/feedback/public/index/approve/', 
     type: 'POST',      
     data:"id="+id, 
     success:function(data) { 
       alert('Approved successfully'); 
        var index =parseFloat(id)+1;          
        $('table tr:eq('+index+')').css("background-color", "54FF9F");//this   works only for first page 
        } 
      }) 
    } 

我打電話,在彈出按鈕的onclick JavaScript的window.Can誰能幫我Ÿ它亙古不變的

其他頁面的工作

回答

0

success功能是什麼正在着色行;通過將內聯樣式添加到tr標籤本身。由於此功能(極有可能)在您轉到表格的下一頁時不會再次運行,因此新渲染的行不會着色。

我建議向行中添加一個類,然後將CSS規則添加到樣式表中。

$('table tr:eq('+index+')').addClass('alt-row'); 

CSS:

.alt-row td { background-color: #54FF9F; } 

此外,爲了安全起見,我申請背景顏色的細胞,而不是行,因爲一些舊的瀏覽器不支持上表中的行背景。

+0

謝謝。但它沒有工作。我仍然有同樣的問題。 – Idsaru 2012-08-13 14:43:08

+0

正確;對不起,週一早上腦殘。我是否認爲你的分頁是在後端發生的;即每次用戶轉到表格的新頁面時,都會產生新的請求並返回一組新的行?在將響應返回給客戶端之前,可以將類添加到後端的錶行中嗎? – jackwanders 2012-08-13 15:12:22

+0

嗨!! @ jackwanders..yes你的權利..但它不工作。 – Idsaru 2012-08-14 09:46:33