2014-08-28 54 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語句