2016-12-19 4 views
0

Beide Skills-Arrays sind Arrays von Zeichenfolge, die ich über Express übergeben, möchte die Listenelemente anklickbar sein und wenn sie angeklickt werden möchte ich den Text (Zeichenfolge) verschoben werden soll Die Array-Variable mySkills, die ich ebenfalls als leeres Array deklariert und an die EJS-Datei übergeben habe.Express/EJS-Array und Liste Klicken Anhängen

<ul> 
    <% desSkills.forEach(function(e){ %> 
     <li><%= e %></li> 
    <% }); %> 
</ul> 

<ul> 
    <% devSkills.forEach(function(e){ %> 
     <li><%= e %></li> 
    <% }); %> 
</ul> 
+0

Ihr 'mySkills' Array wird nur in Ihrem Frontend deklariert und Sie übergeben es an das Backend. Ist das richtig? – Tom

+0

@ Tom das ist ja richtig –

Antwort

0

können Sie erreichen, dass nach diesem Beispiel:

EJS Datei

<html> 
    <head> 
     <script> 
      var arrDevSkills = []; 
      function addDevSkills(value) { 
       arrDevSkills.push(value); 
       alert("Values: " + arrDevSkills); 
      } 

      var arrDesSkills = []; 
      function addDesSkills(value) { 
       arrDesSkills.push(value); 
       alert("Values: " + arrDesSkills); 
      } 
     </script> 
    </head> 
<body> 

    <h1>DesSkills</h1> 
    <ul> 
     <% desSkills.forEach(function(e){ %> 
      <li onclick="addDesSkills(<%= e %>);"><%= e %></li> 
     <% }); %> 
    </ul> 

    <h1>DevSkills</h1> 
    <ul> 
     <% devSkills.forEach(function(e){ %> 
      <li onclick="addDevSkills(<%= e %>);"><%= e %></li> 
     <% }); %> 
    </ul> 

</body> 
</html> 

Klicken Sie über die Elemente wird es funktioniert, wenn die Elemente Zahlen oder Boolesche Werte sind.

Wenn Sie die Parameter als Zeichenfolge benötigen, fügen Sie bitte das einfache Anführungszeichen in den Parametern hinzu, die an die JS-Funktion übergeben werden (z. B. onclick="addDesSkills('<%= e %>');").

Hoffe, es ist irgendwie hilfreich.