首页 > 解决方案 > 从下拉列表中获取选定的值并在 router.get Nodejs 中使用它

问题描述

基本上我想做的是从下拉列表中获取一个值。提交按钮将指向另一个页面,我有一个使用所选值的数据库查询。

在此处输入图像描述

parks.ejs

<div class="table-data">
        <h2>Display Data using Node.js & MySQL</h2>
            <table>
                <tr>
                    <th>ID</th>
                    <th>Station N</th>
                    
                    <th>Edit</th>
                    <th>Delete</th>
                </tr>
                
                <%
                if(userdataa.length!=0){
                var i=1;
                userdataa.forEach(function(data){
                %>
                <tr>
                    <td><%=i; %></td>
                    <td><%=data.Station_ID %></td>
                    
                    <td><a href="/users/edit/<%=data.id%>">Edit</a></td>
                    <td><a href="/users/delete/<%=data.id%>">Delete</a></td>
                </tr>
                <%  i++; }) %>
                <% } else{ %>
                    <tr>
                        <td colspan="7">No Data Found</td>
                    </tr>
                <% } %>
            </table>
            </div>

中的表格user-list.ejs

<form action="/form-data" method="POST">
          <fieldset style="width:50%">
          <select class="selectpicker" data-style="btn-info" name="selectpicker">
            <optgroup label="Select Table">
                <option name="" value="0">Starting Station</option>
                <option name="table1" value="1">S</option>
                <option name="table2" value="2">B</option>
                <option name="table3" value="3">C</option>
            </optgroup>
        
       
    </select>
    <button href="/users/parks" class="dropbtn"><b>GO</b></button>

      </fieldset>
         </form>

当前users.js

var express = require('express');
var router = express.Router();
var db = require('../database');



router.get('/user-list', function(req, res, next) {

    db.query("SELECT Station_ID FROM Station WHERE Name = 'A'", function (err, results, fields) {
        if (err) throw err;
        res.render('user-list', { title: 'User List', userData: results});
  });
});


/*
router.post('/submit-forms',function(req,res,next){
    window.variabled = req.body.selectpicker;
})
*/


router.get('/parks', function(req, res, next) {

    db.query("SELECT Station_ID FROM Station WHERE Name = ?",[variabled], function (err, results, fields) {
        if (err) throw err;
        res.render('parks', { title: 'User Listt', userdataa: results});
  });
});

module.exports = router;

现在,我被困在如何存储变量中选择的值并将其用于router.get. 另外,请检查我的表单代码是否正确放置了路线。

标签: mysqlnode.jsformsexpressejs

解决方案


推荐阅读