我使用的代码为共享点列表中的项目行着色。 当我在列表视图中过滤其中一列时 - JQuery停止工作......我需要添加什么代码或以不同的方式编写代码?
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$Text = $("td.ms-cellstyle.ms-vb2:contains('Approved')"); $Text.parent().css("background-color", "#01DF3A");
$Text = $("td.ms-cellstyle.ms-vb2:contains('Rejected')");
$Text.parent().css("background-color", "#F90101");
$Text = $("td.ms-cellstyle.ms-vb2:contains('Pending')");
$Text.parent().css("background-color", "#EAC117");
});
</script>
答案 0 :(得分:0)
&#39; $(文件).ready&#39;函数只在页面加载时运行一次。
过滤时,您正在重新创建表格中的HTML元素。因此,您的jQuery代码永远不会在这些新的HTML元素上运行。
在进行过滤和页面加载后,您需要调用函数以按状态为单元格着色。
$(document).ready(function () {
colorCellsByStatus();
});
var colorCellsByStatus = function() {
$Text = $("td.ms-cellstyle.ms-vb2:contains('Approved')");
$Text.parent().css("background-color", "#01DF3A");
$Text = $("td.ms-cellstyle.ms-vb2:contains('Rejected')");
$Text.parent().css("background-color", "#F90101");
$Text = $("td.ms-cellstyle.ms-vb2:contains('Pending')");
$Text.parent().css("background-color", "#EAC117");
}