问题:如何使用js动态生成html页面的下拉列表?

背景:在没有使用各种组件的情况下,希望拿后端响应的集合在前端的表单页面动态展示一个下拉列表

实现:三步走 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用js生成下拉列表</title>
    <script type="text/javascript" src="/jquery.js"></script>  <!--踩坑:你的js在static目录下放的,一定要加/不然console控制台报错-->
    <script>
        //页面加载完成之后
        $(function(){
            //第二步:发送ajax请求获取后端的集合数据
            $.ajax({
                type : "GET",
                url : "/api/subject/getAllSubject",
                async : false,//看你自己的需要,false代表不让他异步执行
                success:function(data){
                    console.log(data)
                    //第三步:动态创建下拉列表
                    let titleOptionHtml = "<option value = \"\">请选择科目:</option>"
                    $("#sh
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 layui treegrid 中实现输入框动态生成列表,您可以使用 layui 的 form 模块来实现。下面是一个示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Layui TreeGrid</title> <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.4/css/layui.css"> </head> <body> <table class="layui-table" id="treeTable"></table> <script src="https://cdn.staticfile.org/layui/2.5.4/layui.js"></script> <script> layui.use(['tree', 'table', 'form'], function(){ var tree = layui.tree; var table = layui.table; var form = layui.form; // 模拟数据 var data = [ {id: 1, name: '节点1'}, {id: 2, name: '节点2'}, {id: 3, name: '节点3'}, {id: 4, name: '节点4'} ]; // 渲染树形表格 tree.render({ elem: '#treeTable', data: data, showLine: true, cols: [[ {field: 'name', title: '名称', templet: '#nameTpl'} ]] }); // 渲染下列表 var selectHtml = ''; for(var i=0; i<data.length; i++){ selectHtml += '<option value="'+ data[i].id +'">'+ data[i].name +'</option>'; } document.querySelector('#selectContainer').innerHTML = selectHtml; // 监听下列表变化 form.on('select(select)', function(data){ console.log(data.value); }); }); </script> <!-- 模板 --> <script type="text/html" id="nameTpl"> <select lay-filter="select"> <option value="">请选择</option> <optgroup label="节点列表" id="selectContainer"></optgroup> </select> </script> </body> </html> ``` 在上面的示例代码中,我们使用了 layui 的 form 模块来渲染下列表,并使用了 lay-filter 属性来监听下列表的变化。通过遍历数据来动态生成列表的选项,并将选项添加到指定的容器中。在监听函数中,您可以获取下列表选中的值,并进行相应的处理。注意,要在页面中引入 layui 的 form 模块的 JavaScript 文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值