【问题标题】:Select option dropdown with Node.js, MySQL and EJS使用 Node.js、MySQL 和 EJS 选择选项下拉列表
【发布时间】:2021-04-11 18:37:47
【问题描述】:

我想用我的 MySQL 数据库中的数据创建一个下拉列表,在这种情况下,我试图在填写“创建预算”表单时从“客户”表中提取名称并放置它们在一个选择选项中,我正在使用 EJS。但是,我在传递 EJS 数据时也遇到了问题,因为它在浏览器中给我一个错误(数据未定义)

这是我用来保存数据的控制器:

controller.save = function(req, res, next) {
const data = req.body;
req.getConnection((err, conn) => {
    conn.query('SELECT nombre FROM clientes', (err, row) =>{
        res.render('presupuestos_create', {
            datos: row
        })
    });
    conn.query('INSERT INTO presupuestos set ?', [data], (err, row) => {
        res.redirect('/presupuestos');
    });
});

};

这是mi EJS:

                <form action="/presupuestos/add" method="POST">
                <div class="mb-3">
                    <label for="cliente" class="form-label">Cliente</label>
                    <select  class="form-select" id="cliente" name="cliente" tabindex="1" required>
                        <option>----</option>
                        <%for(var i=0; i < datos.length; i++){%>
                            <option value="<%= datos[i] %>"><%= datos[i] %></option>
                        <%}%>
                    </select>
                </div>

【问题讨论】:

    标签: javascript mysql node.js database ejs


    【解决方案1】:
    to populate from db > ejs 
    
     <select  class="form-select" id="cliente" name="cliente" value="<%= datos%>" tabindex="1" required>
    <% for(var i=0; i < datos.length; i++) { %>
      <option 
          <%= datos[i].datos %>
      </option>
    <%}%>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-14
      • 2019-07-29
      • 1970-01-01
      • 2012-11-19
      • 2017-05-19
      相关资源
      最近更新 更多