Javascript 根据sercer中的值更改表行的颜色

Javascript 根据sercer中的值更改表行的颜色,javascript,jquery,jsp,Javascript,Jquery,Jsp,我正在创建一个带有html表的JSP页面来显示员工目录。这是scriptlet: <% String selectedItem = ""; List<Employee> list = new ArrayList<Employee>(); PhoneListController controller = new PhoneListController();

我正在创建一个带有html表的JSP页面来显示员工目录。这是scriptlet:

      <%
            String selectedItem = "";
            List<Employee> list = new ArrayList<Employee>();

            PhoneListController controller = new PhoneListController();
             list = controller.getAllContacts();
            }
            for (Employee eachEmp : list) {

        %>


           <tr >
                <td><%=eachEmp.getLast()%></td>
                <td><%=eachEmp.getFirst()%></td>
                <td><%=eachEmp.getExt()%></td>
                <td><%=eachEmp.getLoc()%></td>
                <td><%=eachEmp.getCell()%></td>
                <td><%=eachEmp.getTeam1()%></td>
            </tr>

<% } %>

然后我显示每个employee对象的表行和列(顺便说一句:我知道Scriptlet很糟糕,已经过时了,但这是我的第一个单独项目。)

我想根据一个特定值的值(基于eachmp.getManagerCode)更改某些行的背景色

如何使用javascript实现这一点?我试图通过在上调用onload事件来调用js函数。但我需要检查每一行,这不是可能的解决方案。我还没有尝试过jquery,因为我对jquery非常陌生,我不太了解如何在jquery中实现它

请帮忙


谢谢

您可以简单地使用if语句

 <%
        String selectedItem = "";
        List<Employee> list = new ArrayList<Employee>();

        PhoneListController controller = new PhoneListController();
         list = controller.getAllContacts();
        }
        for (Employee eachEmp : list) {


          if (eachEmp.getManagerCode==1) {    %>
        <tr class="red">
       <% }   else   {   %>
       <tr class="blue">
       <%   }    %>

            <td><%=eachEmp.getLast()%></td>
            <td><%=eachEmp.getFirst()%></td>
            <td><%=eachEmp.getExt()%></td>
            <td><%=eachEmp.getLoc()%></td>
            <td><%=eachEmp.getCell()%></td>
            <td><%=eachEmp.getTeam1()%></td>
        </tr>

<% } %> 

或者,如果您不想使用css类,您可以简单地编写等等。。等等


如果需要,您可以输入多少,或者使用switch语句

您的scriptlet没有显示如何格式化每个脚本的html。虽然简单的技巧是将这个managerCode设置为行上的attr,但是jquery可以检查所有行上的属性,并使用一个简单的开关分配颜色。请详细说明添加managerCode作为属性的过程好吗?您的值是通过JSP代码在服务器端设置的。在提供页面之前,您知道行是否表示经理。因此,没有理由在客户端解决这个问题(通过使用JS或JQuery)。使用一个简单的JSP if,您可以向行中添加一个CSS类(如果eachhemp.getManagerCode指示您应该添加CSS类,如果不是,则添加一个简单的CSS类。我建议您在谷歌上搜索“clientside vs serverside”(不带引号),并确保您了解代码的每个部分在哪里运行。
 <%
        String selectedItem = "";
        List<Employee> list = new ArrayList<Employee>();

        PhoneListController controller = new PhoneListController();
         list = controller.getAllContacts();
        }
        for (Employee eachEmp : list) {


          if (eachEmp.getManagerCode==1) {    %>
        <tr class="red">
       <% }   else   {   %>
       <tr class="blue">
       <%   }    %>

            <td><%=eachEmp.getLast()%></td>
            <td><%=eachEmp.getFirst()%></td>
            <td><%=eachEmp.getExt()%></td>
            <td><%=eachEmp.getLoc()%></td>
            <td><%=eachEmp.getCell()%></td>
            <td><%=eachEmp.getTeam1()%></td>
        </tr>

<% } %>