0

我正在使用 phtml 在 php 中对表格进行分页。问题是我有一个 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。谁能帮助我,它不适用于其他页面

4

1 回答 1

0

您的success功能是为行着色;通过将内联样式添加到tr标签本身。因为当您转到表格的下一页时此函数(很可能)不会再次运行,所以新呈现的行不会被着色。

我建议改为向行添加一个类,并将 CSS 规则添加到样式表中。

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

CSS:

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

此外,为了安全起见,我将背景颜色应用于单元格,而不是行,因为一些较旧的浏览器不支持表格行的背景。

于 2012-08-13T14:33:35.677 回答