2014-08-28 16 views
0

我正在创建一个带有html表的JSP页面以显示员工目录。这是小脚本:基于来自sercer的值更改表行的颜色

 <% 
      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> 

<% } %> 

,然后我显示每个员工的目标表中的行和列(PS:我知道小脚本是不好的,过时的,但这是我第一次单独的项目。)

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

我该如何通过使用javascript来实现?我试图通过调用onload事件来调用js函数。但是,因为我需要检查每行不是可能的解决方案。我还没有尝试过jquery,因为我对jquery很新,并且我不太了解如何在jquery中完成它。

请帮忙。

感谢

+0

你的scriptlet并没有显示你如何格式化eachEmp的html。尽管简单的技巧是将这个managerCode设置为一个attr行,然后jquery可以在所有行上检查该属性并使用简单的开关分配一个颜色。 – Culyx 2014-08-28 14:36:10

+0

我添加了上面的表格行代码。您能否详细说明将managerCode添加为属性? – Madi 2014-08-28 15:18:15

+0

您的值将通过JSP代码在服务器端进行设置。您知道在提供页面之前某行是否代表经理。所以,没有理由在客户端解决这个问题(通过使用JS或JQuery)。如果使用简单的JSP,则可以向该行添加一个CSS类(如果每个EMP.getManagerCode表明您应该这样做),并且如果不是,我会推荐使用Google搜索“clientside vs serverside “(不包括引号),并确保您了解您的代码的每个部分正在运行的位置。 – hoverbikes 2014-08-28 15:33:42

回答

0

您只需使用一个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语句