2014-08-28 6 views
0

Je crée une page JSP avec une table html pour afficher le répertoire des employés. Ceci est scriptlet:Modifier la couleur de la ligne du tableau en fonction de la valeur du sereur

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

<% } %> 

puis-je afficher les lignes de la table et des colonnes pour chaque objet employé (PS: Je sais scriptlets sont mauvais et obsolètes, mais ceci est mon premier projet individuel.)

Je voudrais pour modifier la couleur d'arrière-plan de certaines lignes en fonction de la valeur d'une valeur particulière (basée sur eachEmp.getManagerCode).

Comment puis-je y parvenir en utilisant javascript? J'ai essayé d'appeler une fonction js en appelant l'événement onload. Mais comme j'ai besoin de vérifier pour chaque ligne qui n'est pas la solution possible. Je n'ai pas encore essayé jquery car je suis très nouveau à jquery et je n'ai pas très bien compris comment le faire en jquery.

Aidez-nous s'il vous plaît.

Merci

+0

Votre scriptlet s'arrête de montrer comment vous formatez le HTML pour chaque Emp. Bien que l'astuce consiste à définir ce gestionnaireCode comme un attr sur une ligne, jquery peut simplement vérifier cet attribut sur toutes les lignes et affecter une couleur en utilisant un simple commutateur. – Culyx

+0

J'ai ajouté le code de ligne de la table ci-dessus. Pourriez-vous élaborer sur l'ajout de managerCode en tant qu'attribut? – Madi

+0

Vos valeurs sont définies du côté serveur, par code JSP. Vous savez si une ligne représente un gestionnaire avant que la page ne soit diffusée. Il n'y a donc aucune raison de résoudre ce problème côté client (en utilisant JS ou JQuery). En utilisant un JSP simple si, vous pouvez ajouter une classe CSS à la ligne ( si eachEmp.getManagerCode indique que vous devriez l'être, et juste un simple sinon je vous recommande de googler "clientside vs serverside "(sans les guillemets) et s'assurer que vous comprenez où chaque partie de votre code est en cours d'exécution. – hoverbikes

Répondre

0

vous pouvez simplement utiliser une instruction 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> 

<% } %> 

Ou si vous ne voulez pas utiliser la classe CSS, vous pouvez simplement écrire etc .. etc ..

vous pouvez mettez-en combien si vous voulez, ou utilisez l'instruction switch

Questions connexes