2016-12-19 3 views
0

両方のスキル配列は、Express経由で渡している文字列の配列です。リスト項目をクリック可能にし、クリックするとテキスト(文字列)を移動します空の配列として宣言したmySkills配列変数をEJSファイルに渡します。Express/EJS配列とリストクリック追加

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

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

あなたの 'mySkills'配列はフロントエンドでのみ宣言され、バックエンドに渡します。そうですか? – Tom

+0

@Tom正しいそうです –

答えて

0

あなたが達成することができ、この例で、次の要素を超える

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

クリックすると、要素が数値またはブール値であれば、それは、働くようになります

EJSファイル。

パラメータを文字列にする必要がある場合は、JS関数に渡されるパラメータに一重引用符を追加してください(例:onclick="addDesSkills('<%= e %>');")。

どうにかして助けてください。