【问题标题】:I am new to node js how to get dependent dynamic dropdown from database我是节点 js 的新手,如何从数据库中获取相关的动态下拉列表
【发布时间】:2018-01-26 17:22:02
【问题描述】:

我的节点代码:

app.get('/block_name', function (req,res){

var sql='SELECT  `block_name`,`block_id` FROM `tbl_block`  ';
connection.query(sql,function(err, result) {
    if (err) throw err;
    res.json(result);
});

});

app.get('/site_name', function (req,res){

var sql='SELECT  `site_name`,`site_id` FROM `tbl_site` ';
connection.query(sql,function(err, result) {
    if (err) throw err;
    res.json(result);
});

});

HTML

网站

      <select name="site" id="dropdown" >
        <option value="">- select -</option>
      </select>
     <label class="field" >Block</label>
      <select name="block" id="dropdown1" >
        <option value="">- select -</option>
      </select>

脚本

<script>

    $(document).ready(function(){
    $.ajax({
        url : "/site_name",
        type : "GET",
        success : function(data){

            var len = data.length;

            console.log(data);
            $("#dropdown").empty();
            for(var i =0; i<len;i++){
            var value1 = data[i]['site_name'];
            var value2 = data[i]['site_id'];
                $("#dropdown").append("<option value='"+value2+"' >"+value1+"</option>");

            }

        }
    });
}); 

    $(document).ready(function(){
    $.ajax({
        url : "/block_name",
        type : "GET",
        success : function(data){

            var len = data.length;

            console.log(data);
            $("#dropdown1").empty();
            for(var i =0; i<len;i++){
            var value1 = data[i]['block_name'];
            var value2 = data[i]['block_id'];
                $("#dropdown1").append("<option value='"+value2+"' >"+value1+"</option>");

            }

        }
    });
}); 


 </script>

我的第二个下拉列表列出了所有数据,但我需要根据第一个下拉列表列出特定的内容。 提前致谢.. 对不起我的英语不好

【问题讨论】:

    标签: javascript jquery node.js cascadingdropdown


    【解决方案1】:

    每当第一个下拉列表更改值时,您需要根据第一个下拉列表中的选择值重新填充第二个下拉列表 - 通常通过重新运行 ajax 调用来加载第二个下拉列表,但使用第一个下拉菜单的值来决定从服务器请求哪些数据。

    您可以通过在第一个下拉列表中安装一个事件处理程序来做到这一点,这样您就可以随时检测到其值发生了变化,然后只要第一个下拉列表中的该事件发生,您就可以使用新的 ajax 调用重新填充第二个下拉列表发生。

    【讨论】:

    • 请举一些例子@jfriend00
    • @HameedIrfan - 什么例子?你有什么需要帮助的?您知道如何制作事件处理程序来查看第一个下拉菜单何时更改吗?这就是您要重新填充第二个下拉菜单的地方。
    • 是的,使用 onchange 事件我可以选择第二个下拉菜单。但是如何用新的 ajax 重新填充第二个下拉列表,因为在 ajax 中我提供了一个 url 来调用该查询 @jfriend00
    • @HameedIrfan - 您需要指定一个 ajax URL,该 URL 将为您获取要为当前选定站点显示的块。我不知道你的服务器 URL 是如何工作的,因为你没有透露任何内容。您是否有能力获取特定站点的块?如果我理解你的问题,那就是你想要做的。
    猜你喜欢
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多