javascript - Express/EJS 数组和列表单击追加

标签 javascript arrays node.js express ejs

两个技能数组都是我通过 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/

相关文章:

ruby-on-rails - 试图理解 sort_by 函数在 Ruby 中的工作原理

javascript - Nodejs 在 ajax 调用中表达 res.render

javascript - AngularJS $Broadcast 和 $on 不更新 $scope

javascript - 窗口点击事件被调用两次

javascript - ionic3 ionic 滑 Action 为堆栈卡效果

php - 将 mysql 结果存储在数组中(不回显),然后使用该数组设置另一个变量

c++ - 如何错误捕获字符串数组

node.js - Passport.js Google 策略不适用于 React 应用程序

node.js - 纱在构建中找不到模块 'logform' winston

javascript - 使用 Meetups API javascript 获取数据