基于MySQL查询的NodeJS自动更新下拉菜单

时间:2018-07-01 10:32:01

标签: mysql node.js express drop-down-menu ejs

这是我与Express&NodeJS一起工作的第一个项目,所以请耐心等待,因为我是JavaScript的新手。

我目前正试图找出如何创建一个下拉菜单,以根据从该数据库中选择的“ pais”,“ titulacion”和“ destino”选项来更改其值(发送):

+--------+-----------+------------+-----------+------------+----+
| nombre | apellidos | destino    | pais      | titulacion | id |
+--------+-----------+------------+-----------+------------+----+
| John   | Martinez  | UPMC       | Francia   | GIB        |  1 |
| Marta  | López     | HEC        | Francia   | GITST      |  2 |
| Amadeo | Perez     | Linköping  | Finlandia | GITST      |  3 |
+--------+-----------+------------+-----------+------------+----+

我要这样做,以便在下拉列表中选择“ Francia”时,“ destino”的其他下拉列表将仅显示具有pais =“ Francia”的选项。

这是我的路由器文件中包含的代码的一部分:

router.get('buscador/pais/:pais/universidad/:universidad/titulacion/:titulacion/curso/:curso', function(req, res, next) {
  sql.connect(config).then(() => {
    return sql.query(`SELECT pais FROM outgoing`)}).then(result => {
      console.log(result);
      res.render('buscador', {paises: result})
    }).catch(err => {
      console.log(err);
    })
})

它不完整,因为我不确定这是否是最好的方法。

然后我的表单如下:

<section class="main" id="mainSection>
<form name="buscador" method="get" action="/buscador">
    <div class="contenido buscador">
        <select>
            <% for (var i=0; i < paises.length; i++) { %>
                <option> <%= paises[i] %></option>
            <% } %>
        </select>
    <div class="boton-buscador">
        <input class="submit" type="submit" value="Enviar" name="submit" onsubmit="return validar(email)">
    </div>
</form>

我当时想为此创建一个中间件是最好的,但是我仍然不太了解如何使用它们。

如果你们能帮助我弄清楚该怎么做,我将不胜感激。

非常感谢您。

0 个答案:

没有答案