js——动态生成列表

简介: 1.html写的静态页面如下:

js——动态生成列表


1.html写的静态页面如下:


 <table class="table table-striped">
            <caption>收货地址列表</caption>
            <thead>
            <tr>
                <th>地址类型</th>
                <th>收货人姓名</th>
                <th>详细地址</th>
                <th>联系电话</th>
                <th colspan="3">操作</th>
            </tr>
            </thead>
            <tbody id="address-list">
            <tr>
                <td>家</td>
                <td>八戒</td>
                <td>北京市房山区高老庄3排6号</td>
                <td>1380***1234</td>
                <td><a class="btn btn-xs btn-info"><span class="fa fa-edit"></span> 修改</a></td>
                <td><a class="btn btn-xs add-del btn-info"><span class="fa fa-trash-o"></span> 删除</a></td>
                <td><a class="btn btn-xs add-def btn-default">设为默认</a></td>
            </tr>
            <tr>
                <td>公司</td>
                <td>八戒</td>
                <td>北京市海淀区中关村中路1号1001室</td>
                <td>1380***1234</td>
                <td><a class="btn btn-xs btn-info"><span class="fa fa-edit"></span> 修改</a></td>
                <td><a class="btn btn-xs add-del btn-info"><span class="fa fa-trash-o"></span> 删除</a></td>
                <td><a class="btn btn-xs add-def btn-default">设为默认</a></td>
            </tr>
            </tbody>
        </table>


2.使用js动态获取从后端获得的数据,替换列表内容


<script type="text/javascript">
    $(document).ready(function () {
        showAddressList();
    });
    function showAddressList() {
        $("#address-list").empty();//清除原来的列表内容
        $.ajax({
            url: "/addresses",
            // data: "",//客户端发送的数据
            dataType: "JSON",//服务器响应的数据类型
            success: function (json) {
                let list = json.data;
                for (let i = 0; i < list.length; i++) {
                //先写一对单引号'',再把内容拷贝到括号中会自动生成模板
                    let address = '<tr>' +
                        '<td>#{tag}</td>' +
                        '<td>#{name}</td>' +
                        '<td>#{province}#{city}#{area}#{address}</td>' +
                        '<td>#{phone}</td>' +
                        '<td><a class="btn btn-xs btn-info"><span class="fa fa-edit"></span> 修改</a></td>\n' +
                        '<td><a class="btn btn-xs add-del btn-info"><span class="fa fa-trash-o"></span> 删除</a></td>\n' +
                        '<td><a class="btn btn-xs add-def btn-default">设为默认</a></td>\n' +
                        '</tr>';
                        //#{XXX}相当于是占位符
                        //使用replace()替换#{}中的内容
                    address = address.replace("#{tag}", list[i].tag);
                    address = address.replace("#{name}", list[i].name);
                    address = address.replace("#{province}", list[i].province);
                    address = address.replace("#{city}", list[i].city);
                    address = address.replace("#{area}", list[i].area);
                    address = address.replace("#{address}", list[i].address);
                    address = address.replace("#{phone}", list[i].phone);
                    $("#address-list").append(address);
                }
                $(".add-def:eq(0)").hide();//隐藏已经是默认收货地址,的默认收货按钮
            }
        });


目录
相关文章
|
7月前
|
前端开发 JavaScript
js + ajax实现商品列表页到详情页的跳转
js + ajax实现商品列表页到详情页的跳转
|
2月前
|
JavaScript
js学习--商品列表商品详情
js学习--商品列表商品详情
31 2
|
3月前
|
JavaScript 前端开发 索引
JavaScript HTML DOM 节点列表
JavaScript HTML DOM 节点列表
24 5
|
6月前
|
JavaScript 索引
Vue.js的`v-for`用于基于数组或对象渲染列表,如遍历数组生成`&lt;li&gt;`元素
【6月更文挑战第25天】Vue.js的`v-for`用于基于数组或对象渲染列表,如遍历数组生成`&lt;li&gt;`元素。基本语法是`v-for=&quot;(item, index) in items&quot;`,支持遍历对象的键值对。注意与`v-if`同用时应使用`&lt;template&gt;`,组件上使用`v-for`需设`key`属性以优化性能。
82 2
|
7月前
|
JavaScript 前端开发
【专栏】`Function.prototype.apply` 在JavaScript中用于动态设定函数上下文(`this`)和参数列表
【4月更文挑战第29天】`Function.prototype.apply` 在JavaScript中用于动态设定函数上下文(`this`)和参数列表。它接受两个参数:上下文对象和参数数组。理解`apply`有助于深入JS运行机制。文章分三部分探讨其原理:基本概念和用法、工作原理详解、实际应用与注意事项。在应用中要注意性能、参数类型和兼容性问题。`apply`可用于动态改变上下文、传递参数数组,甚至模拟其他语言的调用方式。通过深入理解`apply`,能提升代码质量和效率。
45 3
|
存储 JavaScript 前端开发
手撕前端面试题【javascript~ 列表动态渲染、无重复数组、数组排序、新数组、创建数组、深浅拷贝、内存泄露等】
html页面的骨架,相当于人的骨头,只有骨头是不是看着有点瘆人,只有HTML也是如此。 css,相当于把骨架修饰起来,相当于人的皮肉。
89 0
|
7月前
|
前端开发 JavaScript API
JavaScript待办事项列表
JavaScript待办事项列表
|
7月前
|
移动开发 前端开发 JavaScript
使用JavaScript实现一个复杂功能:自定义拖拽排序列表
使用JavaScript实现一个复杂功能:自定义拖拽排序列表
|
7月前
|
存储 前端开发 JavaScript
使用JavaScript实现动态生成并管理购物车的深入解析
使用JavaScript实现动态生成并管理购物车的深入解析