两个技能数组都是我通过 Express 传递的字符串数组,我希望列表项可单击,并且当单击它们时,我希望将文本(字符串)移动到我还声明的 mySkills 数组变量中,作为空白数组,并传递到 EJS 文件。
<ul>
<% desSkills.forEach(function(e){ %>
<li><%= e %></li>
<% }); %>
</ul>
<ul>
<% devSkills.forEach(function(e){ %>
<li><%= e %></li>
<% }); %>
</ul>
最佳答案
您可以按照以下示例实现这一点:
EJS 文件
<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>
如果元素是数字或 bool 值,则单击元素即可使其工作。
如果您需要参数为字符串,请在传递给 JS 函数的参数中添加单引号(例如 onclick="addDesSkills('<%= e %>');"
)。
希望它能有所帮助。
关于javascript - Express/EJS 数组和列表单击追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41216499/