javascript不适用于分页

时间:2012-08-13 14:27:44

标签: javascript

我正在使用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
                    }
           })   
    }  

我正在点击弹出窗口中的按钮调用javascript。任何人都可以帮助我,因为它对其他页面不起作用

1 个答案:

答案 0 :(得分:0)

你的success函数是对行着色的内容;通过向tr标签本身添加内联样式。因为当你转到表格的下一页时,这个功能(很可能)不会再次运行,所以新渲染的行不会变色。

我建议在行中添加一个类,然后将CSS规则添加到样式表中。

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

CSS:

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

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